Technote 1190

Power Manager 2.0



ñ⁄éü

êflìdÇ÷ÇÃä÷êS

ÉXÉäÅ[ÉvÇΔÉXÉäÅ[ÉvâèúÇ…â¡Ç¶ÇÁÇÍÇΩïœçX

ÉfÉoÉCÉXè»ìdóÕÉnÉìÉhÉâ

Power Manager 2.0 Ç…ä‹Ç‹ÇÍÇÈêVǵǢÉãÅ[É`Éì

êVǵǢÉXÉäÅ[ÉvÉ^ÉCÉv

ÉXÉäÅ[ÉvÉÅÉbÉZÅ[ÉW

ǪÇÃëºÇÃêVǵǢÉÅÉbÉZÅ[ÉW

ÉlÉbÉgÉèÅ[ÉNÉAÉNÉeÉBÉrÉeÉBÇ…ëŒÇ∑ÇÈÉXÉäÅ[Évâèú

ìdåπÇÃí«â¡

É}ÉCÉNÉçÉvÉçÉZÉbÉTÇÃâ∑ìxÇÃéÊìæ

Power Manager Apple ÉCÉxÉìÉg

ÉTÅ[ÉoÉÇÅ[Éh

éQçlï∂å£

Power Manager 2.0 ÇÕÅAÇÊÇËêœã…ìIÇ»êflìdëŒçÙÇÃé¿åªÇë£êiÇ∑ÇÈÇΩÇflÇ… Mac OS Ç…â¡Ç¶ÇÁÇÍÇΩÉAÉbÉvÉfÅ[ÉgÇ≈ÅAç≈êVÇà Macintosh ÉnÅ[ÉhÉEÉFÉAÇ®ÇÊÇ— NewWorld ROM ÉAÅ[ÉLÉeÉNÉ`ÉÉÇ…ëgÇ›çûÇ‹ÇÍǃǢÇÈêVã@î\ÇÉTÉ|Å[ÉgǵNjÇ∑ÅB

Power Manager 2.0 ÇÕÅAÇ∑Ç◊ǃÇà iMacÅABlue & White G3ÅAPower Mac G4 ÉfÉXÉNÉgÉbÉvÅAÅuÉuÉçÉìÉYÉLÅ[É{Å[ÉhÅvPowerBook G3 ÉVÉäÅ[ÉYÅAiBookÅAÇ®ÇÊÇ—ç°å„î≠ï\Ç≥ÇÍÇÈÉ|Å[É^ÉuÉãÇ®ÇÊÇ—ÉfÉXÉNÉgÉbÉvÇ≈égópÇ≈Ç´Ç‹Ç∑ÅB

Power Manager 2.0 ÇÉTÉ|Å[ÉgÇ∑ÇÈÇΩÇflÇ… Mac OS Ç…Ç¢Ç≠ǬǩÇÃì‡ïîìIÇ»ïœçXÇ™â¡Ç¶ÇÁÇÍÇÈÇΔìØéûÇ…ÅAÉfÉxÉçÉbÉpÇ™égópÇ≈Ç´ÇÈÇ¢Ç≠ǬǩÇÃêVǵǢ API LJí«â¡Ç≥ÇÍNjǵÇΩÅBǵÇΩǙǡǃÅADZÇÃÉeÉNÉjÉJÉãÉmÅ[ÉgÇ≈ÇÕÅAPower Manager 2.0 Ç…ä‹Ç‹ÇÍÇÈêVã@î\ÇΔÉAÉbÉvÉfÅ[ÉgÇ≥ÇÍÇΩã@î\ÇÃóºï˚DžǬǢǃê‡ñæÇµÇ‹Ç∑ÅBPower Manager ÉTÅ[ÉrÉXÇÃégópï˚ñ@ÇÃè⁄ç◊DžǬǢǃÇÕÅAÅwInside Macintosh: DevicesÅxÇÃÅuPower ManagerÅvÇÃèÕÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB

DZÇÃÉeÉNÉjÉJÉãÉmÅ[ÉgÇÕÅADZÇÍÇ‹Ç≈Ç…É|Å[É^ÉuÉãÉ}ÉVÉìÇ≈é¿çsÇ≥ÇÍÇÈÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃäJî≠DžǩǩÇÌÇ¡ÇΩDZÇΔÇÃdžÇÈÉAÉvÉäÉPÅ[ÉVÉáÉìÉfÉxÉçÉbÉpÇæÇØÇ≈Ç»Ç≠ÅAÇ∑Ç◊ǃÇà Mac OS ÉAÉvÉäÉPÅ[ÉVÉáÉìÉfÉxÉçÉbÉpÇëŒè€Ç…èëÇ©ÇÍǃǢNjÇ∑ÅBàÍï˚ÅAPCI ÉXÉçÉbÉgÇ÷ÇÃìdóÕÇÃé’ífÇÉTÉ|Å[ÉgÇ∑ÇÈïKóvÇÃdžÇÈÉfÉoÉCÉXÉhÉâÉCÉoÇÃÉfÉxÉçÉbÉpÇÕÅAÅuUpdating Drivers for PM 2.0ÅvÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB



êflìdÇ÷ÇÃä÷êS

êVǵǢ Power Manager ÇÕÅAPowerBook å≈óLÇÃÉ}ÉlÅ[ÉWÉÉÇΔǵǃÇÃê´äiÇ™îÒèÌÇ…é„NjǡǃǢNjÇ∑ÅBé¿ç€ÅAêVǵǢ Power Manager ÇÕÅAÉ|Å[É^ÉuÉãÉ}ÉVÉìÇæÇØÇ≈Ç»Ç≠ÉfÉXÉNÉgÉbÉvÉ}ÉVÉì (ÉTÉ|Å[ÉgÇ≥ÇÍǃǢÇÈã@éÌDžǩǨÇË) Ç≈LJÉ|Å[É^ÉuÉãÉ}ÉVÉììØólÇÃè»ìdóÕã@î\Çé¿åªÇµÅAè´óàÇÃêªïiÇ≈LJà¯Ç´ë±Ç´ìØólÇÃìÆçÏÇé¿çsÇ∑ÇÈDZÇΔDžǻǡǃǢNjÇ∑ÅBǬNjÇËÅAèëç÷Ç‚ÉIÉtÉBÉXÇ©ÇÁà⁄ìÆÇ∑ÇÈDZÇΔÇÃǻǢÉRÉìÉsÉÖÅ[É^Çä‹ÇflǃÅAÇ∑Ç◊ǃÇÃÉRÉìÉsÉÖÅ[É^ÉVÉXÉeÉÄÇ≈ìdóÕÇå¯ó¶ìIÇ…égópÇ∑ÇÈDZÇΔÇ™éûë„ÇÃóvêøÇ≈džÇÈÇΔǢǧDZÇΔÇ≈Ç∑ÅB

Mac OS 8.6 Ç≈ÇÕÇ∂ÇflǃégópÇ≈Ç´ÇÈÇÊǧDžǻǡÇΩêVǵǢÉiÉmÉJÅ[ÉlÉãÇÃì±ì¸Ç…î∫Ç¢ÅAÉrÉWÅ[Ç≈ǻǢÅAÇ‹ÇΩÇÕ CPU éûä‘ÇóvãÅǵǻǢÉ^ÉXÉNÇÃÉuÉçÉbÉNÇ™ãñâ¬Ç≥ÇÍÇÈÇÊǧDžǻÇËNjǵÇΩÅBǪÇÃåãâ ÅAÉvÉçÉZÉbÉT (Ç‹ÇΩÅAèÍçáÇ…ÇÊǡǃÇÕÉ}ÉãÉ`ÉvÉçÉZÉbÉT) ÇÕïKóvÇ…Ç»ÇÈÇ‹Ç≈è»ìdóÕèÛë‘Ç…íuÇ≠DZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÍÇ…ÇÊÇËÅADZÇÍÇ‹Ç≈à»è„ÇÃè»ìdóÕÇ™â¬î\Ç…Ç»ÇËÅADZÇÃDZÇΔÇ™åãâ ìIÇ…ÉoÉbÉeÉäéıñΩÇÃëÂïùÇ»å¸è„Çé¿åªÇµÇ‹Ç∑ÅB

êVǵǢè»ìdóÕã@î\ÇóòópÇ∑ÇÈÇΩÇflÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ®ÇÊǗǪÇÃëºÇÃÉ\ÉtÉgÉEÉFÉAÇÕÅAéüÇ…é¶Ç∑Ç¢Ç≠ǬǩÇÃäÓñ{ìIÇ»ÉKÉCÉhÉâÉCÉìDžǵÇΩÇ™Ç§ÇæÇØÇ≈ÅAÉVÉXÉeÉÄÉAÉCÉhÉãÇìKêÿÇ…éÊÇËàµÇ§Ç±ÇΔÇ™Ç≈Ç´ÇÈÇÊǧDžǻÇËÇ‹Ç∑ÅB

WaitNextEvent

WaitNextEvent ÇåƒÇ—èoÇ∑ÇΔÇ´Ç…ÉXÉäÅ[ÉvílÇΔǵǃÉ[ÉçÇégópǵǻǢÇ≈Ç≠ÇæÇ≥Ç¢ÅBÉ[ÉçÇégópÇ∑ÇÈÇΔÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™ CPU ÇìΔêËǵǃǵNjǢÅAÉVÉXÉeÉÄÇ™ÉAÉCÉhÉãèÛë‘Ç…Ç»ÇÁÇ»Ç≠Ç»ÇËÇ‹Ç∑ÅB

VBL ÇΔÉ^ÉCÉÄÉ^ÉXÉN

VBL Ç®ÇÊÇ— Time Manager É^ÉXÉNÇÃégópÇçTǶNjÇ∑ÅBì¡Ç…ÅADZÇÍÇÁÇ™çÇÇ¢ïpìxÇ≈é¿çsÇ≥ÇÍÇÈèÍçáÇÕÅAǪÇÃâÒêîÇå∏ÇÁǵǃÇ≠ÇæÇ≥Ç¢ÅBégópÇ≥ÇÍÇÈÉ^ÉXÉNÇÃêîÇ™ëΩÇ≠Ç»ÇËÅAǪÇÃïpìxÇ™çÇÇ≠Ç»ÇÈÇΔÅAÇŸÇΔÇÒÇ«ïKóvÇÃǻǢñΩóflÇåJÇËï‘ǵé¿çsÇ∑ÇÈÇΩÇflÇ…ÅACPU ÇÃïââ◊Ç™ÇÊÇËëÂÇ´Ç≠Ç»ÇËÇ‹Ç∑ÅB

É|Å[ÉäÉìÉO/ÉXÉsÉìÉãÅ[ÉsÉìÉO

ÉãÅ[ÉvÇ‚ÉXÉsÉìÇÃíÜÇ≈ÉCÉxÉìÉgÇÃë“ã@ÇçsÇÌǻǢÇÊǧDžǵNjÇ∑ÅBDevice Manager åƒÇ—èoǵÇÃíÜÇ≈ÉXÉsÉìÉãÅ[ÉvÇégópǵǃÅAioResult ÇÃïœçXÇë“ÇΩǻǢÇ≈Ç≠ÇæÇ≥Ç¢ÅBÇfiǵÇÎÅADevice Manager ÇÃíÜÇ≈ÇÕÅAÉAÉCÉhÉãèÛë‘Ç…à´âeãøÇó^ǶǻǢ PBWaitIOComplete ÇΔǢǧêVǵǢÉãÅ[É`ÉìÇégópǵNjÇ∑ÅB

   OSStatus PBWaitIOComplete(IOParamPtr ioPB, Duration timeout)

PBWaitIOComplete ÇÕÅAäÑÇËçûÇ› (ioResult ÇÃë“ã@Ç…âeãøÇó^ǶÇÈâ¬î\ê´ÇÃdžÇÈäÑÇËçûÇ›) Ç™î≠ê∂Ç∑ÇÈÇ©ÅAdžÇÁÇ©Ç∂ÇfléwíËǵÇΩÉ^ÉCÉÄÉAÉEÉgílÇ…íBÇ∑ÇÈÇ‹Ç≈ÅAÉVÉXÉeÉÄÇÉAÉCÉhÉãèÛë‘Džǵë±ÇØÇ‹Ç∑ÅBÉ^ÉCÉÄÉAÉEÉgDžǻǡÇΩèÍçáÅADZÇÃÉãÅ[É`ÉìÇÕ kMPTimeoutErr Çï‘ǵNjÇ∑ÅB


Back to top

ÉXÉäÅ[ÉvÇΔÉXÉäÅ[ÉvâèúÇ…â¡Ç¶ÇÁÇÍÇΩïœçX

ÇÊÇËêœã…ìIÇ…êflìdóvåèÇñûÇΩÇ∑ÇΩÇflÅAÉXÉäÅ[Év/ÉXÉäÅ[ÉvâèúÇÃÉvÉçÉZÉXÇ™ägí£Ç≥ÇÍÅAâ¬î\Ç»èÍçáÇÕÉXÉäÅ[ÉvéûÇ… PCI ÉXÉçÉbÉgÇ…ãüããÇ∑ÇÈìdóÕÇé’ífÇ∑ÇÈã@î\ÅAÅuÉfÉBÅ[ÉvÉXÉäÅ[ÉvÅvÇΔåƒÇŒÇÍÇÈêVǵǢèÛë‘Ç…ì¸ÇÈã@î\ǻǫÇÃÅAêVǵǢÉnÅ[ÉhÉEÉFÉAÇÃã@î\ÇégópÇ≈Ç´ÇÈÇÊǧDžǻÇËNjǵÇΩÅBÇΩÇæÇµÅAëSî ìIÇ»ÉvÉçÉZÉXÇÕDZÇÍÇ‹Ç≈ìØólÇ≈džÇËÅAÇ¢Ç≠ǬǩÇÃÉGÉìÉgÉäÇ™èàóùÇ∑ÇÈïKóvÇÃdžÇÈÉÅÉbÉZÅ[ÉWÇ™í«â¡Ç≥ÇÍÇΩDZÇΔÇèúǢǃÅAÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃégÇ¢ï˚Ç…ïœçXÇÕâ¡Ç¶ÇÁÇÍǃǢNjÇπÇÒÅB

ÉhÉâÉCÉoÉTÅ[ÉrÉXÇÕÅAÇ¢Ç≠ǬǩÇÃÉTÅ[ÉrÉXÇíÒãüÇ≈Ç´ÇÈÇÊǧDžÉAÉbÉvÉfÅ[ÉgÇ≥ÇÍÅAPCI (Ç®ÇÊǗǪÇÃëºÇÃ) ÉfÉoÉCÉXÉhÉâÉCÉoǙǪÇÍÇÁÇÃÉTÅ[ÉrÉXÇégópÇ∑ÇÈèÍçáÅAÉfÉoÉCÉXÇÕì`ìùìIÇ»ÉXÉäÅ[ÉvÉLÉÖÅ[ÇÊÇËLJå„ÇÃíiäKÇ≈ÉXÉäÅ[Év/ÉXÉäÅ[ÉvâèúÉvÉçÉZÉXÇÃìdóÕÇêßå‰Ç≈Ç´ÇÈÇÊǧDžǻÇËNjǵÇΩÅBDZÇÍÇÁÇÃêVǵǢÉTÅ[ÉrÉXÇÃégÇ¢ï˚ÇÕÉNÉâÉVÉbÉNÇ»ÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃégÇ¢ï˚Ç…éóǃǢNjÇ∑Ç™ÅAÉfÉoÉCÉXè»ìdóÕÉnÉìÉhÉâÇåƒÇ—èoÇ∑É^ÉCÉ~ÉìÉOÇ™ÉNÉâÉVÉbÉNÇ»ÉvÉçÉZÉXÇÊÇËLJÇ∏ǢǑÇÒå„Ç…Ç»ÇËÇ‹Ç∑ÅBǪÇÃÇΩÇflÅADZÇÍÇÁÇÃÉTÅ[ÉrÉXÇ…ëŒâûǵÇΩÉfÉoÉCÉXÇÕìdóÕÇ™é’ífÇ≥ÇÍÇÈç≈å„ÇÃèuä‘Ç‹Ç≈ÉTÅ[ÉrÉXÇíÒãüÇ≈Ç´ÇÈÇÊǧDžǻÇËÇ‹Ç∑ÅB

íçà”:
ì`ìùìIÇ»ÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃégÇ¢ï˚DžǬǢǃÇÕÅAÅwInside Macintosh: DevicesÅxÇÃÅuPower ManagerÅvÇÃèÕÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB



èdóv:
PCI ÉXÉçÉbÉgÇ÷ÇÃìdóÕÇÃé’ífÇÉTÉ|Å[ÉgÇ∑ÇÈïKóvÇÃdžÇÈÉfÉoÉCÉXÉhÉâÉCÉoÇÃÉfÉxÉçÉbÉpÇÕÅADZÇÃÉeÉNÉjÉJÉãÉmÅ[ÉgÇΔÇÕï Ç…ÅuUpdating Drivers for PM 2.0ÅvÇΔǢǧÉhÉLÉÖÉÅÉìÉgÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB




Back to top

ÉfÉoÉCÉXè»ìdóÕÉnÉìÉhÉâ(Device Power Handlers)

ÉfÉoÉCÉXè»ìdóÕÉnÉìÉhÉâÇÕÅAPower Manager Ç…ÇÊǡǃåƒÇ—èoÇ≥ÇÍÅAÉRÉìÉsÉÖÅ[É^Ç…ê⁄ë±Ç≥ÇÍǃǢÇÈÉfÉoÉCÉXÇ…ë„ÇÌǡǃêflìdÉäÉNÉGÉXÉgÇèàóùÇ∑ÇÈÉãÅ[É`ÉìÇ≈Ç∑ÅB

Power Manager Ç≈ÇÕÅAÅuÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÅvÇΔåƒÇŒÇÍÇÈêVǵǢÉçÅ[ÉåÉxÉãÇÃÉXÉäÅ[ÉvÉLÉÖÅ[ÇíËã`ǵǃǢNjÇ∑ÅBÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÇÕÅAÉXÉäÅ[ÉvÉvÉçÉZÉXÇÃç≈LJíxÇ¢íiäKÅAÇ®ÇÊÇ—ÉXÉäÅ[ÉvâèúÉvÉçÉZÉXÇÃç≈LJëÅÇ¢íiäKÇ≈ÉXÉäÅ[ÉvÇ…ä÷òAÇ∑ÇÈêflìdÉäÉNÉGÉXÉgÇ…ÇÊǡǃåƒÇ—èoÇ≥ÇÍÇÈï°êîÇÃè»ìdóÕÉnÉìÉhÉâÇ©ÇÁç\ê¨Ç≥ÇÍǃǢNjÇ∑ÅBDZÇÃÉLÉÖÅ[ÇÕéÂÇΔǵǃÅAÉfÉoÉCÉXÉhÉâÉCÉoÇ™ÉXÉäÅ[ÉvÇ‹ÇΩÇÕÉXÉäÅ[ÉvâèúÉCÉxÉìÉgÇ…âûìöǵǃÅAǪÇÍÇÁÇÃìdóÕÉXÉeÅ[É^ÉXÇê›íËÇ∑ÇÈÇΩÇflÇ…ópà”Ç≥ÇÍǃǢNjÇ∑ÅBÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÇÕÅAì`ìùìIÇ»ÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ëóêMÇ≥ÇÍÇÈÉÅÉbÉZÅ[ÉWÇΔìØÇ∂ÉÅÉbÉZÅ[ÉWÇéÛêMǵÅAÇ‹ÇΩóºï˚ÇÃÉLÉÖÅ[ÇÕí«â¡Ç≥ÇÍÇΩÇ¢Ç≠ǬǩÇÃÉÅÉbÉZÅ[ÉWÇéÛêMÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ (è⁄ç◊DžǬǢǃÇÕÅAå„èqÇÃÅuêVǵǢÉÅÉbÉZÅ[ÉWÅvÇÃÉZÉNÉVÉáÉìÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢)ÅB

typedef pascal OSStatus (*PowerHandlerProcPtr)(UInt32  message,
		void * param,
		UInt32 refCon,
		RegEntryID * regEntryID);

DZÇÍÇÕÅAè»ìdóÕÉnÉìÉhÉâÇÃíËã`Ç≈Ç∑ÅBÉpÉâÉÅÅ[É^ message ÇÕåªç›ÇÃêflìdÉäÉNÉGÉXÉgÇ≈Ç∑ÅBparam ÇÕÉÅÉbÉZÅ[ÉWå≈óLÇÃÉpÉâÉÅÅ[É^Ç≈ÅAåªç›ÇÃÇΔDZÇÎÅAkGetDevicePowerLevel Ç®ÇÊÇ— kSetDevicePowerLevel ÉÅÉbÉZÅ[ÉWÅAkGetPowerInfo Ç®ÇÊÇ— kGetWakeOnNetInfo ÉÅÉbÉZÅ[ÉWÇ…ëŒÇµÇƒÇÃÇ›égópÇ≥ÇÍÇ‹Ç∑ÅBrefCon ÇÕè»ìdóÕÉnÉìÉhÉâÇ≈égópÇ∑ÇÈÇΩÇflÇ…éwíËǵNjÇ∑ÅBìoò^éûDžDZÇÃÉpÉâÉÅÅ[É^Ç…ìnÇ≥ÇÍÇΩílÇÕÅAè»ìdóÕÉnÉìÉhÉâÇ™åƒÇ—èoÇ≥ÇÍÇÈÇΩÇ—Ç…ÅAǪÇÃè»ìdóÕÉnÉìÉhÉâÇ…ï‘Ç≥ÇÍÇ‹Ç∑ÅBç≈å„ÇÃÉpÉâÉÅÅ[É^Ç≈džÇÈ regEntryID ÇÕè»ìdóÕÉnÉìÉhÉâÇ™êßå‰Ç∑ÇÈÉfÉoÉCÉXÇ≈ÅAè»ìdóÕÉnÉìÉhÉâÇ™ìoò^Ç≥ÇÍÇΩÇΔÇ´Ç… Power Manager Ç…ó^ǶÇÁÇÍÇΩÉfÉoÉCÉXÇΔìØÇ∂ÉfÉoÉCÉXÇ≈Ç∑ÅB

èdóv:
ì¡íËÇÃêflìdÉÅÉbÉZÅ[ÉWÇèàóùÇ≈ǴǻǢèÍçáÅAÇ∑Ç◊ǃÇÃè»ìdóÕÉnÉìÉhÉâÇÕ kPowerMgtMessageNotHandled Çï‘Ç∑ïKóvǙdžÇËÇ‹Ç∑ÅB




Back to top

Power Manager 2.0 Ç…ä‹Ç‹ÇÍÇÈêVǵǢÉãÅ[É`Éì


AddDevicePowerHandler

AddDevicePowerHandler ÇégópÇ∑ÇÈÇΔÅAÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç…è»ìdóÕÉnÉìÉhÉâÇí«â¡Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBregEntryID ÇÕÅAëŒè€ÇΔÇ»ÇÈÉfÉoÉCÉXÇÃìoò^ÉGÉìÉgÉä ID ÇÃÉAÉhÉåÉXÇ≈Ç∑ÅBǻǮÅADZÇÍÇÕïKÇ∏ïKóvÇ»ÉpÉâÉÅÅ[É^Ç≈ÅAóLå¯Ç» regEntryID ÇéwíËÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBhandler ÇÕÅAëŒè€ÇΔÇ»ÇÈÉfÉoÉCÉXÇ…ëŒÇµÇƒìoò^ǵÇÊǧÇΔǵǃǢÇÈè»ìdóÕÉnÉìÉhÉâÇ≈Ç∑ÅBDZÇÍÇÕÅAÉãÅ[É`ÉìÉfÉBÉXÉNÉäÉvÉ^Ç≈ÇÕÇ»Ç≠ÅAPowerPC ÉRÅ[ÉhÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅBè»ìdóÕÉnÉìÉhÉâÇìoò^Ç≈Ç´ÇÈÇÃÇÕ PowerPC ÉRÅ[ÉhÇÃÇ›Ç≈džÇÈÇΩÇflÅAÉãÅ[É`ÉìÉfÉBÉXÉNÉäÉvÉ^ÇÕïKóvdžÇËÇ‹ÇπÇÒÅBrefCon ÉtÉBÅ[ÉãÉhÇÕì‡ïîìIÇ»ñ⁄ìIÇ…égópÇ≥ÇÍÅADZÇÃílÇÕêflìdÉäÉNÉGÉXÉgÇ™î≠çsÇ≥ÇÍÇÈÇΩÇ—Ç…ï‘Ç≥ÇÍÇÈDZÇΔÇ…Ç»ÇËÇ‹Ç∑ÅBdeviceType ÇÕÅAÉfÉoÉCÉXÇÃÉ^ÉCÉvÇãLèqÇ∑ÇÈï∂éöóÒÇ≈Ç∑ÅBPower Manager Ç≈ÇÕ regEntryID ÉpÉâÉÅÅ[É^Ç…äÓÇ√ǢǃÉfÉoÉCÉXÉ^ÉCÉvÇåüçıÇ∑ÇÈÇΩÇflÅAëÂïîï™ÇÃè»ìdóÕÉnÉìÉhÉâÇ≈ÇÕDZÇÃÉpÉâÉÅÅ[É^ÇégópÇ∑ÇÈïKóvÇÕdžÇËÇ‹ÇπÇÒÅB

   OSStatus AddDevicePowerHandler (RegEntryIDPtr regEntryID,
                    PowerHandlerProcPtr handler,
                    UInt32 refCon,
                    char * deviceType);

RemoveDevicePowerHandler

RemoveDevicePowerHandler ÇégópÇ∑ÇÈÇΔÅAè»ìdóÕÉnÉìÉhÉâÇÉAÉìÉCÉìÉXÉgÅ[ÉãÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBregEntryID ÇÕÅAè»ìdóÕÉnÉìÉhÉâÇ™êßå‰Ç∑ÇÈÉfÉoÉCÉXÇ…ëŒâûǵÇΩìoò^ÉGÉìÉgÉä ID Ç≈Ç∑ÅB

   OSStatus RemoveDevicePowerHandler (RegEntryIDPtr 
regEntryID);

GetDevicePowerLevel

GetDevicePowerLevel ÇégópÇ∑ÇÈÇΔÅAÉfÉoÉCÉXÇÃè»ìdóÕÉnÉìÉhÉâÇ…åªç›ÇÃè»ìdóÕèÓïÒÇñ‚Ç¢çáÇÌÇπÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB

   OSStatus GetDevicePowerLevel (RegEntryIDPtr regEntryID,
                    PowerLevel * devicePowerLevel);

SetDevicePowerLevel

SetDevicePowerLevel ÇégópÇ∑ÇÈÇΔÅAÉfÉoÉCÉXÇÃè»ìdóÕÉåÉxÉãÇ devicePowerLevel ÉpÉâÉÅÅ[É^Ç≈éwíËÇ∑ÇÈÉXÉeÅ[É^ÉXÇ…ê›íËÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBè»ìdóÕÉåÉxÉãÇÃíËã`ÇΔÅAGetDevicePowerLevel Ç®ÇÊÇ— SetDevicePowerLevel ÇÃégÇ¢ï˚DžǬǢǃÇÕÅAÅuUpdating Drivers for PM 2.0ÅvÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB

    OSStatus SetDevicePowerLevel (RegEntryIDPtr regEntryID,
                    PowerLevel devicePowerLevel);


Back to top

êVǵǢÉXÉäÅ[ÉvÉ^ÉCÉv

Power Manager 2.0 ÇΔÅAiBook Ç®ÇÊǗǪÇÍà»ç~Ç…î≠ï\Ç≥ÇÍÇΩÉ}ÉVÉìÇä‹ÇflÇΩ Apple êªÇÃç≈êVÇÃÉnÅ[ÉhÉEÉFÉAÇ≈ÇÕÅAÉXÉäÅ[ÉvÇ…ä÷Ç∑ÇÈÇ¢Ç≠ǬǩÇÃÉoÉäÉGÅ[ÉVÉáÉìÇ™ë∂ç›ÇµÇ‹Ç∑ÅB

ÉVÉìÉvÉãÉXÉäÅ[Év

DZÇÃå`éÆÇÃÉXÉäÅ[ÉvÇÕÅAì`ìùìIÇ» PowerBook ÇÃÉXÉäÅ[ÉvÇΔǵǃímÇÁÇÍǃǢÇÈLJÇÃÇ≈Ç∑ÅBëÂïîï™ÇÃÉ}ÉVÉìÇ≈ÇÕìdåπÇ™ÉIÉtÇ…Ç»ÇËÇ‹Ç∑Ç™ÅAÉÅÉÇÉäÇÕÉZÉãÉtÉäÉtÉåÉbÉVÉÖÉÇÅ[ÉhÇ…ì¸Ç¡ÇƒÇ¢ÇÈÇΩÇflÅAÉ}ÉVÉìÇ™ÉXÉäÅ[ÉvǵǃǢÇÈä‘LJÉÅÉÇÉäÇÃì‡óeÇÕé∏ÇÌÇÍÇ‹ÇπÇÒÅB

ÉZÅ[ÉtÉXÉäÅ[Év

DZÇÃå`éÆÇÃÉXÉäÅ[ÉvÇÕÉVÉìÉvÉãÉXÉäÅ[ÉvÇ…éóǃǢNjÇ∑Ç™ÅAÉXÉäÅ[ÉvÇ…ì¸Ç¡ÇΩÇΔÇ´ÇÃÉÅÉÇÉäÇÃì‡óeÇï\Ç∑ÉtÉ@ÉCÉãÇ™ÉfÉBÉXÉNÇ…èëÇ´çûÇ‹ÇÍÇÈì_Ç™àŸÇ»ÇËÇ‹Ç∑ÅBǪÇÃåãâ ÅAÉXÉäÅ[ÉvíÜÇ…ó\ä˙ÇπÇ í‚ìdÇ™î≠ê∂ǵǃLJÅAÉÜÅ[ÉUÇÃçÏãΔÉRÉìÉeÉLÉXÉgÇÕéüâÒÇÃãNìÆéûÇ…äÆëSÇ…ÉäÉXÉgÉAÇ≥ÇÍÇ‹Ç∑ÅBåªç›ÅADZÇÃÉXÉäÅ[ÉvÇÃÉoÉäÉGÅ[ÉVÉáÉìÇÕÅAÅuÉÅÉÇÉäÅvÉRÉìÉgÉçÅ[ÉãÉpÉlÉãÇÃÅuâºëzÉÅÉÇÉäÅvÇ™Åuì¸ÅvDžǻǡǃǢÇÈèÍçáÇÃÇ›égópÇ≈Ç´Ç‹Ç∑ÅBÉZÅ[ÉtÉXÉäÅ[ÉvÇÕÅAÉÜÅ[ÉUÇ™Åuè»ÉGÉlÉãÉMÅ[ê›íËÅvÉRÉìÉgÉçÅ[ÉãÉpÉlÉãÇÃÅuÉIÉvÉVÉáÉìê›íËÅvÉpÉlÉãÇ≈ÅuÉXÉäÅ[ÉvíÜLJÉÅÉÇÉäÇÃì‡óeÇï€éùÇ∑ÇÈÅvÉ`ÉFÉbÉNÉ{ÉbÉNÉXÇ…É`ÉFÉbÉNÉ}Å[ÉNÇì¸ÇÍÇΩÇΔÇ´Ç…óLå¯Ç…Ç»ÇËÇ‹Ç∑ÅB

ÉfÉBÅ[ÉvÉXÉäÅ[Év

DZÇÃå`éÆÇÃÉXÉäÅ[ÉvÇ≈ÇÕÅAÉÅÉÇÉäÇÃì‡óeÇ™ÉfÉBÉXÉNÇ…èëÇ´çûÇ‹ÇÍÅAÉ}ÉVÉìÇÃìdåπÇ™äÆëSÇ…ÉIÉtÇ…Ç»ÇËÇ‹Ç∑ÅBÉÜÅ[ÉUÇ™ Power ÉLÅ[ÇâüÇ∑ÇΔÅAï€éùÇ≥ÇÍǃǢÇÈÉÅÉÇÉäì‡óeÇ™ÉfÉBÉXÉNè„Ç…ë∂ç›Ç∑ÇÈǩǫǧǩÇîªífǵÇΩéûì_Ç≈É}ÉVÉìÇ™ÉuÅ[ÉgǵÅAÉÅÉÇÉäì‡óeÇ™ÉfÉBÉXÉNÇ…äiî[Ç≥ÇÍǃǢÇÈèÍçáÇÕÉÅÉÇÉäÇ™çƒç\ízÇ≥ÇÍǃÅAdžÇΩǩLJǪÇÍÇ‹Ç≈íPèÉÇ»ÉXÉäÅ[ÉvèÛë‘Ç…ì¸Ç¡ÇƒÇ¢ÇΩÇ©ÇÃÇÊǧDžÉ}ÉVÉìÇÃÉXÉäÅ[ÉvèÛë‘Ç™âèúÇ≥ÇÍÇ‹Ç∑ÅB

ÉfÉBÅ[ÉvÉXÉäÅ[ÉvÇÕÅAÅuÉÅÉÇÉäÅvÉRÉìÉgÉçÅ[ÉãÉpÉlÉãÇÃÅuâºëzÉÅÉÇÉäÅvÇ™Åuì¸ÅvDžǻǡǃǢÇÈèÍçáÇÃÇ›égópÇ≈Ç´Ç‹Ç∑ÅBåªç›ÇÃÇΔDZÇÎÅAÉ}ÉVÉìÇ™ÉZÅ[ÉtÉXÉäÅ[ÉvèÛë‘Ç…ì¸Ç¡ÇƒÇ¢ÇƒÅAǪÇÃä‘Ç…ìdóÕÇ™é∏ÇÌÇÍÇΩÇΔÇ´ (É}ÉVÉìÇÃÉXÉäÅ[ÉvíÜÇ…ÉoÉbÉeÉäÇÃìdåπÇ™äÆëSÇ…è¡ñ’ǵÇΩÇΔǴǻǫ) ÇÃÇ›ÉfÉBÅ[ÉvÉXÉäÅ[ÉvÇ…ì¸ÇÈDZÇΔDžǻǡǃǢNjÇ∑ÅB

ëŒè€ÇΔÇ»ÇÈÉ}ÉVÉìÇ≈ÉZÅ[ÉtÇ‹ÇΩÇÕÉfÉBÅ[ÉvÉXÉäÅ[ÉvÇ™ÉTÉ|Å[ÉgÇ≥ÇÍǃǢÇÈǩǫǧǩÇämîFÇ∑ÇÈÇ…ÇÕÅAPMFeatures ÉãÅ[É`ÉìÇégǡǃÅAhasDeepSleep ÉrÉbÉgÇ™ÉZÉbÉgÇ≥ÇÍǃǢÇÈǩǫǧǩÇÉ`ÉFÉbÉNǵNjÇ∑ÅB


Back to top

ÉXÉäÅ[ÉvÉÅÉbÉZÅ[ÉW

Power Manager 2.0 Ç≈ÇÕÅAégópâ¬î\Ç»ÉXÉäÅ[ÉvÇÃÉoÉäÉGÅ[ÉVÉáÉìÇ™í«â¡Ç≥ÇÍÇΩÇΩÇflÅAÉXÉäÅ[ÉvÉLÉÖÅ[Ç®ÇÊÇ—ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ëóêMÇ≥ÇÍÇÈÉÅÉbÉZÅ[ÉWÇÃÉoÉäÉGÅ[ÉVÉáÉìLJëùâ¡ÇµÇ‹ÇµÇΩÅB

ÉVÉìÉvÉãÉXÉäÅ[ÉvÇÃÉÅÉbÉZÅ[ÉW

DZÇÃèÍçáÅAÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃÉGÉìÉgÉäÇΔÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃÉGÉìÉgÉäÇÕÅAïWèÄìIÇ»ÉÅÉbÉZÅ[ÉWÇÃÉZÉbÉgÇéÛêMǵNjÇ∑ÅBǬNjÇËÅAkSleepRequest (à»ëOÇà sleepRequest) Ç‹ÇΩÇÕ kSleepDemand (à»ëOÇà sleepDemand) ÇΔÅAÉXÉäÅ[ÉvâèúéûÇà kSleepWakeup (à»ëOÇà sleepWakeup) Ç≈Ç∑ÅBDZÇÍÇÁÇÃÉÅÉbÉZÅ[ÉWÇÕà»ëOìØólÇ…èàóùǵǃÇ≠ÇæÇ≥Ç¢ÅBÇ‹ÇΩÅABlue & White G3 É}ÉVÉìÇ≈ÇÕÅADZÇÍÇÁÇÃÉLÉÖÅ[ÇÕÅAkDozeRequestÅAkDozeDemandÅAÇ®ÇÊÇ— kDozeWakeup ÇΔǢǧÉhÅ[ÉYÉÅÉbÉZÅ[ÉWÇéÛêMǵNjÇ∑ÅB

ÉZÅ[ÉtÉXÉäÅ[ÉvÇÃÉÅÉbÉZÅ[ÉW

ÉZÅ[ÉtÉXÉäÅ[ÉvÇÃèÍçáÇÕÅAëOèqÇÃïWèÄìIÇ»ÉÅÉbÉZÅ[ÉWÇÃÉZÉbÉgLJëóêMÇ≥ÇÍÇ‹Ç∑Ç™ÅAkSleepRequest Ç‹ÇΩÇÕ kSleepDemand ÇÊÇËLJêÊÇ…ÅAÉXÉäÅ[ÉvÉLÉÖÅ[ÇÕǪÇÍǺÇÍ kSuspendRequest Ç‹ÇΩÇÕ kSuspendDemand ÇéÛêMǵNjÇ∑ÅBÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃèÍçáÅADZÇÍÇÁÇÃêVǵǢÉÅÉbÉZÅ[ÉWÇÕÅAä˘ë∂ÇÃÉÅÉbÉZÅ[ÉWÇ…â¡Ç¶ÇƒëóêMÇ≥ÇÍÇÈÇæÇØÇ≈Ç»Ç≠ÅAä˘ë∂ÇÃÉÅÉbÉZÅ[ÉWÇÊÇËLJëOÇ…ëóêMÇ≥ÇÍÇ‹Ç∑ÅBÇ»Ç∫óºï˚ÇÃÉÅÉbÉZÅ[ÉWÇ™ëóêMÇ≥ÇÍÇÈÇ©ÇΔǢǶnjÅAÉåÉKÉVÅ[É\ÉtÉgÉEÉFÉAÇ™êVǵǢÉÅÉbÉZÅ[ÉWÇîFéØÇ≈Ç´Ç∏ÅAǪÇÃåãâ ÅAç∑ǵîóÇ¡ÇΩÉXÉäÅ[ÉvÇìKêÿÇ…èÄîıÇ≈ǴǻǢâ¬î\ê´Ç™Ç†ÇÈÇΩÇflÇ≈Ç∑ÅBÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃÉGÉìÉgÉäÇÕÅAkSleepRequest Ç‹ÇΩÇÕ kSleepDemand ÉÅÉbÉZÅ[ÉWÇÃë„ÇÌÇËÇ… kSuspendRequest Ç‹ÇΩÇÕ kSuspendDemand ÉÅÉbÉZÅ[ÉWÇéÛêMǵNjÇ∑ÅB

ÉXÉäÅ[ÉvÇâèúÇ∑ÇÈÇΔÇ´Ç…ìdóÕÇ™é∏ÇÌÇÍǃǢÇÈÇΔÅAÉXÉäÅ[ÉvÉLÉÖÅ[ÇÕ kSleepWakeup ÉÅÉbÉZÅ[ÉWÇÊÇËLJëOÇ…êVǵÇ≠í«â¡Ç≥ÇÍÇΩ kSuspendWakeup ÉÅÉbÉZÅ[ÉWÇéÛêMǵNjÇ∑ÅBÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃÉGÉìÉgÉäÇÕÅAÉ}ÉVÉìÇ™ìdåπÉIÉtÇÃèÛë‘Ç©ÇÁÇÃÉåÉWÉÖÅ[ÉÄÇçsÇ¢ÅAÉfÉBÉXÉNÇ…ï€ë∂Ç≥ÇÍǃǢÇΩÉÅÉÇÉäÇÃì‡óeÇÉäÉXÉgÉAÇ∑ÇÈèÍçáÇ…ÅAkSuspendWakeup ÉÅÉbÉZÅ[ÉWÇéÛêMǵNjÇ∑ÅBí èÌÇÃÉXÉäÅ[ÉvÇ©ÇÁïúãAÇ∑ÇÈèÍçáÅAóºï˚ÇÃÉLÉÖÅ[ÇÕ kSleepWakeup ÉÅÉbÉZÅ[ÉWÇéÛêMǵNjÇ∑ÅB

îÒèÌÇ…èdóv !
ì`ìùìIÇ»ÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ìoò^Ç≥ÇÍǃǢÇÈÉ\ÉtÉgÉEÉFÉAÇÕÅADZÇÍÇÁÇÃí«â¡ÉÅÉbÉZÅ[ÉWÇ…ä÷åWÇ»Ç≠ÅAé©ï™é©êgÇÃÉXÉeÅ[É^ÉXÇìΔé©Ç…ï€éùÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBÇΩÇΔǶnjÅAÉ\ÉtÉgÉEÉFÉAÇ™ kSuspendDemand ÉÅÉbÉZÅ[ÉWÇéÛêMǵÅAkSleepDemand ÉÅÉbÉZÅ[ÉWÇéÛêMÇ∑ÇÈÇΔÇ´Ç…çƒìxé¿çsÇ∑ÇÈïKóvÇÃǻǢäàìÆÇÃé¿çsÇë±ÇØÇÈèÍçáÅAÉVÅ[ÉPÉìÉXÇìKêÿÇ…ä«óùǵÅAï°êîÇÃäàìÆÇçsÇÌǻǢÇÊǧDžÇ∑ÇÈDZÇΔÇÕǪÇÃÉ\ÉtÉgÉEÉFÉAÇÃê”îCÇ≈Ç∑ÅBÉfÉoÉCÉXÉXÉäÅ[ÉvÉVÅ[ÉPÉìÉXÇÃèÍçáÅAǪÇÃíÜÇ…ìoò^Ç≥ÇÍǃǢÇÈÉGÉìÉgÉäÇÕ 1 ǬÇÃÉÅÉbÉZÅ[ÉWÇ‹ÇΩÇÕëºÇÃÉÅÉbÉZÅ[ÉWÇÃÇ›ÇéÛêMÇ∑ÇÈÇΩÇflÅADZÇÃDZÇΔÇÕñ‚ëËÇ…Ç»ÇËÇ‹ÇπÇÒÅB


ÉXÉäÅ[ÉvÉÅÉbÉZÅ[ÉWÇÃó·

êVǵǢÉÅÉbÉZÅ[ÉWÇÃï°éGÇ≥ÇóùâǵǂÇ∑Ç≠Ç∑ÇÈÇΩÇflÅAà»â∫ÇÃó·ÇégǡǃÅAǪÇÍǺÇÍÇÃÉ^ÉCÉvÇÃÉXÉäÅ[ÉvÇ…ëŒÇ∑ÇÈÉCÉxÉìÉgÇÃèáèòÇê‡ñæÇµÇ‹Ç∑ÅBÇΩÇæÇµÅAÇŸÇΔÇÒÇ«ÇÃÉ\ÉtÉgÉEÉFÉAÇ≈ÇÕÅAêVǵǢ Power Manager ÇΔÇΔLJDžê≥èÌÇ…ìÆçÏÇ∑ÇÈÇÊǧDžÉXÉäÅ[ÉvÇÃèàóùï˚ñ@ÇïœçXÇ∑ÇÈïKóvÇÕǻǢÇΔǢǧì_Ç…íçà”ǵǃÇ≠ÇæÇ≥Ç¢ÅBÇΔǢǧÇÃLJÅAí èÌÅAÇŸÇΔÇÒÇ«ÇÃÉ\ÉtÉgÉEÉFÉAÇ≈ÇÕÅAÉZÅ[ÉtÉXÉäÅ[ÉvèÛë‘Ç…ì¸Ç¡ÇƒÇ¢ÇÈǩǫǧǩDžîzó∂Ç∑ÇÈïKóvÇÕǻǢÇΩÇflÇ≈Ç∑ÅBDZÇÃèÍçáÇÕÅAÅwInside Macintosh: DevicesÅxÇ…ãLç⁄Ç≥ÇÍǃǢÇÈÇ¢Ç≠ǬǩÇÃÉKÉCÉhÉâÉCÉìDžǵÇΩǙǡǃÇ≠ÇæÇ≥Ç¢ÅBêVǵǢÉÅÉbÉZÅ[ÉWÇǢǬëóêMǵÅAǪÇÍÇÁÇ…ëŒÇµÇƒÇ«ÇÃÇÊǧDžâûìöÇ∑ÇÈÇ©ÇóùâÇµÇƒÇ¢Ç»ÇØÇÍnjǻÇÁǻǢÇÃÇÕÅAÉfÉoÉCÉXÉhÉâÉCÉoÇÃÉfÉxÉçÉbÉpÇΔÅAÉZÅ[ÉtÉXÉäÅ[ÉvÇÃèÍçáÇ…âΩÇÁÇ©ÇÃàŸÇ»ÇÈìÆçÏÇïKóvÇΔǵǃǢÇÈÉAÉvÉäÉPÅ[ÉVÉáÉìÉfÉxÉçÉbÉpÇÃÇ›Ç≈Ç∑ÅB

íçà”:
î‰ärìIå√Ç¢ÉfÉXÉNÉgÉbÉv (Blue & White G3 ÇΔ iMac ÇÃàÍïî) ÇΔÅAǪÇÃëºÅAí èÌÇÃÉXÉäÅ[ÉvèÛë‘Ç…ì¸ÇÈDZÇΔÇ™Ç≈ǴǻǢÉ}ÉVÉìÇ≈ÇÕÅAà»â∫ÇÃó·ÇÃÅuSleep (ÉXÉäÅ[Év)ÅvÇÅuDoze (ÉhÅ[ÉY)ÅvÇ…íuÇ´ä∑ǶǃÇ≠ÇæÇ≥Ç¢ (ÇΩÇæÇµÅAǪÇÍÇÁÇÃÉ}ÉVÉìÇ≈ÇÕÉZÅ[ÉtÉXÉäÅ[ÉvÇégópÇ≈ǴǻǢÇΩÇflÅAÉVÉìÉvÉãÉXÉäÅ[ÉvÇÃèÍçáÇÃÇ›)ÅBÇΩÇΔǶnjÅAkSleepRequest ÇÕ kDozeRequest Ç…Ç»ÇËÇ‹Ç∑ÅB



ÉVÉìÉvÉãÉXÉäÅ[ÉvÉäÉNÉGÉXÉg (ÉAÉCÉhÉãÉXÉäÅ[Év)

DZÇÍÇÕÅAÉÜÅ[ÉUÇ™éwíËǵÇΩÉXÉäÅ[ÉvÉ^ÉCÉÄÉAÉEÉgÇ…íBǵÇΩÇΔÇ´Ç…ëóêMÇ≥ÇÍÇÈÉÅÉbÉZÅ[ÉWÇÃÉVÅ[ÉPÉìÉXÇ≈Ç∑ÅB

  1. ÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepRequest Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  2. ÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃóvëfÇ™ÉäÉNÉGÉXÉgÇãëî€Ç∑ÇÈÇΔÅAkSleepRevoke Ç™ÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ëóêMÇ≥ÇÍÅAÉXÉäÅ[ÉvÇÕÉAÉ{Å[ÉgǵNjÇ∑ÅBDZÇÃå„ÇÕÅAÉXÉeÉbÉv 10 Ç…êiǛNjÇ∑ÅB
  3. ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepRequest Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  4. ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃóvëfÇ™ÉäÉNÉGÉXÉgÇãëî€Ç∑ÇÈÇΔÅAkSleepRevoke Ç™ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÇΔÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ëóêMÇ≥ÇÍÅAÉXÉäÅ[ÉvÇÕÉAÉ{Å[ÉgǵNjÇ∑ÅBDZÇÃå„ÇÕÅAÉXÉeÉbÉv 10 Ç…êiǛNjÇ∑ÅB
  5. ÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepDemand Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  6. ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepDemand Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  7. É}ÉVÉìÇÕÉXÉäÅ[ÉvǵNjÇ∑ÅBǪÇÃå„ÅAÉXÉäÅ[ÉvâèúÉCÉxÉìÉgÇ™î≠ê∂ǵNjÇ∑ÅB
  8. ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepWakeup Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  9. ÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepWakeup Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  10. É}ÉVÉìÇÃÉXÉäÅ[ÉvÇ™âèúÇ≥ÇÍÇ‹Ç∑ÅB

Å@

ÉVÉìÉvÉãÉXÉäÅ[ÉvÉfÉ}ÉìÉh (ÉÜÅ[ÉUÉfÉ}ÉìÉhÇÃÉXÉäÅ[Év)

DZÇÍÇÕÅAÉÜÅ[ÉU (Ç‹ÇΩÇÕìdóÕïsë´ÇÃèÛë‘) Ç…ÇÊǡǃÉXÉäÅ[ÉvÇ™äJénÇ≥ÇÍÇΩÇΔÇ´Ç…ëóêMÇ≥ÇÍÇÈÉÅÉbÉZÅ[ÉWÇÃÉVÅ[ÉPÉìÉXÇ≈Ç∑ÅB

  1. ÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepDemand Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  2. ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepRequest Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  3. ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃóvëfÇ™ÉäÉNÉGÉXÉgÇãëî€Ç∑ÇÈÇΔÅAkSleepRevoke Ç™ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ëóêMÇ≥ÇÍÅAkSleepWakeup Ç™ÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ëóêMÇ≥ÇÍǃÅAÉXÉäÅ[ÉvÇÕÉAÉ{Å[ÉgǵNjÇ∑ÅBDZÇÃå„ÇÕÅAÉXÉeÉbÉv 7 Ç…êiǛNjÇ∑ÅB
  4. É}ÉVÉìÇÕÉXÉäÅ[ÉvǵNjÇ∑ÅBǪÇÃå„ÅAÉXÉäÅ[ÉvâèúÉCÉxÉìÉgÇ™î≠ê∂ǵNjÇ∑ÅB
  5. ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepWakeup Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  6. ÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepWakeup Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  7. É}ÉVÉìÇÃÉXÉäÅ[ÉvÇ™âèúÇ≥ÇÍÇ‹Ç∑ÅB

    Å@

ÉZÅ[ÉtÉXÉäÅ[ÉvÉäÉNÉGÉXÉg

DZÇÍÇÕÅAÉZÅ[ÉtÉXÉäÅ[ÉvÇ…ëŒÇµÇƒÉÜÅ[ÉUÇ™éwíËǵÇΩÉXÉäÅ[ÉvÉ^ÉCÉÄÉAÉEÉgÇ…íBǵÇΩÇΔÇ´Ç…ëóêMÇ≥ÇÍÇÈÉÅÉbÉZÅ[ÉWÇÃÉVÅ[ÉPÉìÉXÇ≈Ç∑

  1. ÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSuspendRequest Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  2. ÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepRequest Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  3. ÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃóvëfÇ™ÉäÉNÉGÉXÉgÇãëî€Ç∑ÇÈÇΔÅAkSleepRevoke Ç™ÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ëóêMÇ≥ÇÍÅAÉXÉäÅ[ÉvÇÕÉAÉ{Å[ÉgǵNjÇ∑ÅBDZÇÃå„ÇÕÅAÉXÉeÉbÉv 14 Ç…êiǛNjÇ∑ÅB
  4. ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSuspendRequest Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  5. ÉfÉoÉCÉXÉLÉÖÅ[ÇÃóvëfÇ™ÉäÉNÉGÉXÉgÇãëî€Ç∑ÇÈÇΔÅAkSuspendRevoke Ç™ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ëóêMÇ≥ÇÍÅAkSleepRevoke Ç™ÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ëóêMÇ≥ÇÍǃÅAÉXÉäÅ[ÉvÇÕÉAÉ{Å[ÉgǵNjÇ∑ÅBDZÇÃå„ÇÕÅAÉXÉeÉbÉv 14 Ç…êiǛNjÇ∑ÅB
  6. ÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSuspendDemand Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  7. ÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepDemand Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  8. ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSuspendDemand Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  9. É}ÉVÉìÇÕÉXÉäÅ[ÉvǵNjÇ∑ (DZÇÃå„Ç≈ìdóÕÇ™é∏ÇÌÇÍÇÈèÍçáLJdžÇËÇ‹Ç∑)ÅBǪÇÃå„ÅAÉXÉäÅ[Évâèú/ìdóÕâÒïúÉCÉxÉìÉgÇ™î≠ê∂ǵNjÇ∑ÅB
  10. í èÌÇÃÉXÉäÅ[ÉvÇ©ÇÁÉXÉäÅ[ÉvâèúÇçsǧèÍçáÇÕÅAÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepWakeup Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅBDZÇÃå„ÇÕÅAÉXÉeÉbÉv 13 Ç…êiǛNjÇ∑ÅB
  11. ìdåπÇ™ÉIÉtDžǻǡǃǢÇÈèÛë‘Ç©ÇÁÉXÉäÅ[ÉvâèúÇçsǧèÍçáÇÕÅAÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSuspendWakeup Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  12. ìdåπÇ™ÉIÉtDžǻǡǃǢÇÈèÛë‘Ç©ÇÁÉXÉäÅ[ÉvâèúÇçsǧèÍçáÇÕÅAÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSuspendWakeup Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  13. ÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepWakeup Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  14. É}ÉVÉìÇÃÉXÉäÅ[ÉvÇ™âèúÇ≥ÇÍÇ‹Ç∑ÅB

ÉZÅ[ÉtÉXÉäÅ[ÉvÉfÉ}ÉìÉh

DZÇÍÇÕÅAÉÜÅ[ÉU (Ç‹ÇΩÇÕìdóÕïsë´ÇÃèÛë‘) Ç…ÇÊǡǃÉZÅ[ÉtÉXÉäÅ[ÉvÇ™äJénÇ≥ÇÍÇΩÇΔÇ´Ç…ëóêMÇ≥ÇÍÇÈÉÅÉbÉZÅ[ÉWÇÃÉVÅ[ÉPÉìÉXÇ≈Ç∑ÅB

  1. ÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSuspendDemand Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  2. ÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepDemand Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  3. ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSuspendRequest Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  4. ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃóvëfÇ™ÉäÉNÉGÉXÉgÇãëî€Ç∑ÇÈÇΔÅAkSleepRevoke Ç™ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ëóêMÇ≥ÇÍÅAkSleepWakeup Ç™ÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ëóêMÇ≥ÇÍǃÅAÉXÉäÅ[ÉvÇÕÉAÉ{Å[ÉgǵNjÇ∑ÅBDZÇÃå„ÇÕÅAÉXÉeÉbÉv 11 Ç…êiǛNjÇ∑ÅB
  5. ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSuspendDemand Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  6. É}ÉVÉìÇÕÉXÉäÅ[ÉvǵNjÇ∑ (DZÇÃå„Ç≈ìdóÕÇ™é∏ÇÌÇÍÇÈèÍçáLJdžÇËÇ‹Ç∑)ÅBǪÇÃå„ÅAÉXÉäÅ[Évâèú/ìdóÕâÒïúÉCÉxÉìÉgÇ™î≠ê∂ǵNjÇ∑ÅB
  7. í èÌÇÃÉXÉäÅ[ÉvÇ©ÇÁÉXÉäÅ[ÉvâèúÇçsǧèÍçáÇÕÅAÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepWakeup Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅBDZÇÃå„ÇÕÅAÉXÉeÉbÉv 10 Ç…êiǛNjÇ∑ÅB
  8. ìdåπÇ™ÉIÉtDžǻǡǃǢÇÈèÛë‘Ç©ÇÁÉXÉäÅ[ÉvâèúÇçsǧèÍçáÇÕÅAÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSuspendWakeup Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  9. ìdåπÇ™ÉIÉtDžǻǡǃǢÇÈèÛë‘Ç©ÇÁÉXÉäÅ[ÉvâèúÇçsǧèÍçáÇÕÅAÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSuspendWakeup Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  10. ÉXÉäÅ[ÉvÉLÉÖÅ[Ç… kSleepWakeup Ç™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB
  11. É}ÉVÉìÇÃÉXÉäÅ[ÉvÇ™âèúÇ≥ÇÍÇ‹Ç∑ÅB

íçà”:
ÉIÉäÉWÉiÉãÇÃÉXÉäÅ[ÉvÇ™ÉäÉNÉGÉXÉg (ÉAÉCÉhÉã) ÉXÉäÅ[ÉvÇ≈džÇÈÇ©ÉfÉ}ÉìÉh (ÉÜÅ[ÉUãNìÆ) ÉXÉäÅ[ÉvÇ≈džÇÈǩDžä÷åWÇ»Ç≠ÅAèÌÇ…ÉäÉNÉGÉXÉgÇ™ÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ëóêMÇ≥ÇÍÇ‹Ç∑ÅBDZÇÍÇÕÅAÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃÉGÉìÉgÉäÇ™ìdóÕÇä«óùÇ∑ÇÈÉfÉoÉCÉXÇ≈ÇÕí·ìdóÕÉXÉäÅ[Év (DZÇÍÇÕ Power Macintosh G4 ÉfÉXÉNÉgÉbÉvÇ≈î≠ê∂ǵÅAÇ∑Ç◊ǃÇÃÉfÉoÉCÉXÇ…ÇÊǡǃÉTÉ|Å[ÉgÇ≥ÇÍǃǢÇÈèÍçáÅAPCI ÉXÉçÉbÉgÇ÷ÇÃìdóÕãüããÇ™é’ífÇ≥ÇÍÇ‹Ç∑) Ç™ÉTÉ|Å[ÉgÇ≥ÇÍǃǢǻǢâ¬î\ê´Ç‡Ç†ÇÈÇΩÇflÅAÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃÉGÉìÉgÉäÇ…ÇÕèÌÇ…ÉXÉäÅ[ÉvÇãëî€Ç∑ÇÈã@âÔÇ™ó^ǶÇÁÇÍÇ»ÇØÇÍnjǻÇÁǻǢǩÇÁÇ≈Ç∑ÅB



Back to top

ǪÇÃëºÇÃêVǵǢÉÅÉbÉZÅ[ÉW

WakeToDoze

kWakeToDoze ÉÅÉbÉZÅ[ÉWÇÕÅAÉlÉbÉgÉèÅ[ÉNÇ‹ÇΩÇÕÉ}ÉVÉìÇÃÉXÉäÅ[ÉvâèúÇÃå¥àˆ (ÉÜÅ[ÉUà»äOÇÃ) ÇΔǻǡÇΩǪÇÃëºÇÃÉäÉNÉGÉXÉgÇ…ÉTÅ[ÉrÉXÇíÒãüÇ∑ÇÈÇΩÇflÇ…ÅAÉ}ÉVÉìÇ™ì¡íËÇÃéûì_Ç‹Ç≈Ç…ÉXÉäÅ[ÉvâèúÇçsǧDZÇΔDžǻǡǃǢÇÈèÍçáÅAÉXÉäÅ[ÉvÉLÉÖÅ[ÇΔÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃóºï˚Ç…ëóêMÇ≥ÇÍÇ‹Ç∑ÅBëÂïîï™ÇÃÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃÉGÉìÉgÉäÇ≈ÇÕÅADZÇÃÉÅÉbÉZÅ[ÉWÇ…ëŒÇµÇƒå¬ï Ç…âûìöÇ∑ÇÈïKóvÇÕÇ»Ç≠ÅAnoErr Çï‘ǵNjÇ∑ÅBëÂïîï™ÇÃÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃÉGÉìÉgÉäÇ≈ÇÕÅAkWakeToDoze ÉÅÉbÉZÅ[ÉWÇ kSleepWakeup ÉÅÉbÉZÅ[ÉWÇΔìØÇ∂ï˚ñ@Ç≈éÊÇËàµÇ§ïKóvǙdžÇËÇ‹Ç∑ÅBǬNjÇËÅADZÇÃÉÅÉbÉZÅ[ÉWÇÕèÌÇ…èàóùǵÅAñ≥éãǵǃÇÕÇ¢ÇØÇ»Ç¢ÇΔǢǧDZÇΔÇ≈Ç∑ÅBàÍïîÇÃÉfÉoÉCÉXè»ìdóÕÉnÉìÉhÉâÅAì¡Ç…ÉrÉfÉIÉfÉoÉCÉX (Ç‹ÇΩÅAǮǪÇÁÇ≠ÇÕëÂóeó ÇÃãLâØÉfÉoÉCÉXLJ) Ç≈ÇÕÅADZÇÍÇΔÇÕàŸÇ»ÇÈï˚ñ@Ç≈ÉäÉNÉGÉXÉgÇ…âûìöǵÅAâÊñ ï\é¶ÇÃâÒïúÇ‚ÉnÅ[ÉhÉfÉBÉXÉNÉhÉâÉCÉuÇÃâÒì]ÇèúÇ´ÅAç≈è¨å¿ÇÃÉXÉäÅ[ÉvâèúÉ^ÉXÉNÇæÇØÇé¿çsǵNjÇ∑ (ïKóvǙǻǢèÍçá)ÅB

éüÇ…ÅAkWakeToDoze Ç…ëŒÇµÇƒì¡Ç…âΩLJǵǻǢÉTÉìÉvÉãÉnÉìÉhÉâÇé¶ÇµÇ‹Ç∑ÅB
                  
                  pascal OSStatus MyPowerHandler (UInt32 message,
	              void *param,
	              UInt32 refCon,
	              RegEntryID * regEntryID)
{
   switch (message)
   	{
   		case kWakeToDoze:
   		case kSleepWakeup:
   			WakeMyDevice ();
   			break;
 
   		case kDozeToFullWakeUp:
   		  // kWakeToDoze ÉÅÉbÉZÅ[ÉWÇ≈äÆëSÇ…ÉXÉäÅ[ÉvâèúÇ
   		  // çsÇ¡ÇΩÇΩÇflñ≥éãÇ∑ÇÈDZÇΔÇ™Ç≈Ç´ÇÈ
   			break;
		:
   	}
}
                  
                  

éüÇ…ÅAkWakeToDoze ÇàŸÇ»ÇÈï˚ñ@Ç≈èàóùÇ∑ÇÈÉTÉìÉvÉãÉnÉìÉhÉâÇé¶ÇµÇ‹Ç∑ÅB

                  
                  pascal OSStatus MyPowerHandler (UInt32 message,
	              void *param,
	              UInt32 refCon,
	              RegEntryID * regEntryID)
{
   switch (message)
   	{
   		case kWakeToDoze:
   			WakeMyDevicePartially();
   			break;
 
   		case kSleepWakeup:
   			WakeMyDevice ();
   			break;
 
   		case kDozeToFullWakeUp:
			WakeMyDeviceFromPartialState ();
   			break;
		:
   	}
}
                  
                  

Å@

DozeToFullWakeUp

É}ÉVÉìÇ™íÜä‘ìIÇ»ÉhÅ[ÉYèÛë‘DždžÇÈÇΔÇ´Ç…ÉÜÅ[ÉUÇ™éËìÆÇ…ÇÊÇÈÉ}ÉVÉìÇÃÉXÉäÅ[ÉvâèúÇëIëǵÇΩèÍçáÅAkWakeToDoze ÉÅÉbÉZÅ[ÉWÇ…ë±Ç¢Çƒ kDozeToFullWakeUp ÉÅÉbÉZÅ[ÉWÇ™ëóêMÇ≥ÇÍÇ‹Ç∑ÅBDZÇÃÇΔǴLJÅAëÂïîï™ÇÃÉGÉìÉgÉäÇ≈ÇÕDZÇÃÉÅÉbÉZÅ[ÉWÇÃñ≥éãÇëIëÇ≈Ç´Ç‹Ç∑Ç™ÅAkWakeToDoze ÉÅÉbÉZÅ[ÉWÇ…âûìöǵÇΩÉGÉìÉgÉäÇ≈ÇÕÅAÉfÉoÉCÉXÇäÆëSÇ»ÉXÉäÅ[ÉvâèúèÛë‘Ç…ïúãAÇ≥ÇπÇÈÇΩÇflÇ…ïKóvÇ»Ç∑Ç◊ǃÇÃÉXÉeÉbÉvÇé¿çsÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB

É}ÉVÉìÇ™íÜä‘ìIÇ»ÉXÉäÅ[ÉvâèúèÛë‘ (ÉhÅ[ÉY) DždžÇÈÇΔÇ´Ç…í èÌÇÃÉXÉäÅ[ÉvÉ^ÉCÉÄÉAÉEÉgÇ…íBǵÇΩèÍçáÅAÉXÉäÅ[ÉvÉLÉÖÅ[ÇÃÉGÉìÉgÉäÇÕí èÌÇÃÉXÉäÅ[ÉvÇ‹ÇΩÇÕÉTÉXÉyÉìÉhÉäÉNÉGÉXÉgÉÅÉbÉZÅ[ÉWÇéÛÇØéÊÇÈDZÇΔÇ…Ç»ÇËÅAǪÇÃåãâ ÅAÉ}ÉVÉìÇ™äÆëSÇ»ÉXÉäÅ[ÉvèÛë‘Ç…ñflÇÈÇÊǧDžÅADZÇÍÇÁÇÃÉÅÉbÉZÅ[ÉWÇèàóùÇµÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅB

GetPowerLevel Ç®ÇÊÇ— GetPowerLevel

kGetPowerLevel Ç®ÇÊÇ— kSetPowerLevel ÉÅÉbÉZÅ[ÉWÇÕÅAêVǵǢÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[Ç…ä‹Ç‹ÇÍÇÈÉGÉìÉgÉäÇÃǛDžëóêMÇ≥ÇÍÇ‹Ç∑ÅBDZÇÍÇÁÇÃÉÅÉbÉZÅ[ÉWÇÕÅAÉfÉoÉCÉXÉXÉäÅ[ÉvÉLÉÖÅ[ì‡ÇÃè»ìdóÕÉnÉìÉhÉâÇ…ëŒÇµÇƒÅAàÍïîÇÃÉ\ÉtÉgÉEÉFÉAÇ™ÉhÉâÉCÉoÉTÅ[ÉrÉXÇà GetDevicePowerLevel Ç®ÇÊÇ— SetDevicePowerLevel ÉãÅ[É`ÉìÇégǡǃÅAǪÇÍÇÁÇ™êßå‰ÇµÇƒÇ¢ÇÈÉfÉoÉCÉXÇÃÉXÉeÅ[É^ÉXÇÃïœçXÇóvãÅǵǃǢÇÈDZÇΔÇí ímÇ∑ÇÈÇΩÇflÇ…égópǵNjÇ∑ÅBè»ìdóÕÉåÉxÉãÇÃíËã`DžǬǢǃÇÕÅAÅuUpdating Drivers for PM 2.0ÅvÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB

DeviceInitiatedWake

kDeviceInitiatedWake ÉÅÉbÉZÅ[ÉWÇÕÇ∑Ç◊ǃÇÃè»ìdóÕÉnÉìÉhÉâÇ…ëóêMÇ≥ÇÍÅAǪÇÍÇÁÇ™ÉXÉäÅ[ÉvâèúÇÃå¥àˆÇ…ǻǡÇΩÉfÉoÉCÉXÇêßå‰ÇµÇƒÇ¢ÇÈǩǫǧǩÇñ‚Ç¢çáÇÌÇπÇ‹Ç∑ÅBëÂïîï™ÇÃè»ìdóÕÉnÉìÉhÉâÇÕDZÇÃÉäÉNÉGÉXÉgÇ…âûìöǵNjÇπÇÒÅBÉ}ÉVÉìÇÃÉXÉäÅ[ÉvâèúÇçsǧDZÇΔÇ™Ç≈Ç´ÇÈÉfÉoÉCÉXÇ≈ÇÕÅAǪÇÃÉfÉoÉCÉXÇ™ÉXÉäÅ[ÉvâèúÇäJénǵÇΩDZÇΔÇΔÅAkDeviceRequestsFullWake ÇégǡǃäÆëSÇ»ÉXÉäÅ[ÉvâèúÇçsǧïKóvǙdžÇÈÇ©ÅAkDeviceRequestsWakeToDoze Çégǡǃïîï™ìIÇ»ÉXÉäÅ[ÉvâèúÇçsǧïKóvǙdžÇÈÇ©Çé¶Ç∑ìKêÿÇ»ílÇï‘Ç∑DZÇΔÇ≈ÅADZÇÃÉÅÉbÉZÅ[ÉWÇ…âûìöÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBDZÇÍÇÁÇÃílÇÕÅAè»ìdóÕÉnÉìÉhÉâä÷êîÇà param ÉpÉâÉÅÅ[É^ÇâÓǵǃï‘Ç≥ÇÍÇÈDZÇΔÇ…Ç»ÇËÇ‹Ç∑ÅB

éüÇ…ÅAêßå‰Ç∑ÇÈÉfÉoÉCÉXÇ™ÉXÉäÅ[ÉvâèúÇÃå¥àˆÇ…ǻǡÇΩDZÇΔÇ Power Manager Ç…í ímÇ∑ÇÈä÷êîÇÃÉTÉìÉvÉãÇé¶ÇµÇ‹Ç∑ÅB

	pascal OSStatus MyPowerHandler (UInt32 message,
	                void *param,
	                UInt32 refCon,
	                RegEntryID * regEntryID)
	{
	  OSStatus  status = kPowerMgtMessageNotHandled;
	  switch (message)
	  {
	    case kDeviceInitiatedWake:
	      *param = kDeviceDidNotWakeMachine;
	      if (IWokeTheMachine())
	        *param = kDeviceRequestsFullWake;
	      status = noErr;
	      break;
	    // ǪÇÃëºÇà case ÇèàóùÇ∑ÇÈ
	  }
	  return err;
	}


Back to top

ÉlÉbÉgÉèÅ[ÉNÉAÉNÉeÉBÉrÉeÉBÇ…ëŒÇ∑ÇÈÉXÉäÅ[Évâèú

êVǵǢÉnÅ[ÉhÉEÉFÉA (iBook Ç®ÇÊÇ— Power Mac G4 Çä‹Çfi) Ç…ÇÕÅAÅuÉlÉbÉgÉèÅ[ÉNÉXÉäÅ[ÉvâèúÅvÇΔåƒÇŒÇÍÇÈêVã@î\Ç™ópà”Ç≥ÇÍǃǢNjÇ∑ÅBǬNjÇËÅAÉÜÅ[ÉUÇÃÉIÉvÉVÉáÉìê›íËÇ…äÓÇ√ǢǃÅAì¡íËÇÃÉ^ÉCÉvÇÃÉlÉbÉgÉèÅ[ÉNÉAÉNÉeÉBÉrÉeÉBÇ™ÉXÉäÅ[ÉvǵǃǢÇÈÉRÉìÉsÉÖÅ[É^ÇÃÉXÉäÅ[ÉvâèúÇçsÇ¢ÅAÉlÉbÉgÉèÅ[ÉNÉäÉNÉGÉXÉgÇ…âûìöÇ≈Ç´ÇÈÇÊǧDžÇ∑ÇÈÇΔǢǧDZÇΔÇ≈Ç∑ÅBÉÜÅ[ÉU (Åuè»ÉGÉlÉãÉMÅ[ê›íËÅvÇâÓǵǃ) Ç‹ÇΩÇÕÉfÉxÉçÉbÉpÇÕÅAÉlÉbÉgÉèÅ[ÉNÉAÉNÉeÉBÉrÉeÉBÇ…ÇÊÇÈÉ}ÉVÉìÇÃÉXÉäÅ[ÉvâèúÇ…ä÷ǵǃ 2 ǬÇÃÉIÉvÉVÉáÉìÇéwíËÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ (å„èqÇà kWakeOnNetAdminAccessesBit Ç®ÇÊÇ— kWakeOnAllNetAccessesBit ÇÃílÇégǡǃ)ÅBkConfigSupportsWakeOnNetBit ÇÕÅAkGetWakeOnNetInfo êflìdÉäÉNÉGÉXÉgÇ…âûìöǵǃÅAÉlÉbÉgÉèÅ[ÉNÉCÉìÉ^ÉtÉFÅ[ÉXÉJÅ[ÉhÇ…ëŒÇ∑ÇÈè»ìdóÕÉnÉìÉhÉâÇ…ÇÊǡǃÇÃÇ›égópÇ≥ÇÍÇ‹Ç∑ÅBÇΩÇæÇµÅAǪÇÍÇÁÇÃÉJÅ[ÉhÇ™ÉlÉbÉgÉèÅ[ÉNÉAÉNÉeÉBÉrÉeÉBÇ…ëŒÇ∑ÇÈÉXÉäÅ[ÉvâèúÇÉTÉ|Å[ÉgǵǃǢÇÈïKóvǙdžÇËÇ‹Ç∑ÅB

    // ÉlÉbÉgÉèÅ[ÉNÉAÉNÉeÉBÉrÉeÉBÉXÉäÅ[ÉvâèúÉIÉvÉVÉáÉì
    enum
      {
      kConfigSupportsWakeOnNetBit   = 0, // åªç›ÇÃÉCÉìÉ^ÉtÉFÅ[ÉX
 supports wake on network
      kWakeOnNetAdminAccessesBit    = 1, // ÉlÉbÉgÉèÅ[ÉNä«óùé“ÉpÉPÉbÉgÇ…ÇÊÇÈÉXÉäÅ[Évâèú
      kWakeOnAllNetAccessesBit      = 2, // îCà”ÇÃÉpÉPÉbÉgÇ…ÇÊÇÈÉXÉäÅ[Évâèú
      kUnmountServersBeforeSleepBit = 3, // ÉTÅ[ÉoÇ©ÇÁÇÃê⁄ë±âèú
                  
      kConfigSupportsWakeOnNetMask  = (1<<kConfigSupportsWakeOnNetBit),
      kWakeOnNetAdminAccessesMask   = (1<<kWakeOnNetAdminAccessesBit),
      kWakeOnAllNetAccessesMask     = (1<<kWakeOnAllNetAccessesBit)
      kUnmountServersBeforeSleepMask=
 (1<<kUnmountServersBeforeSleepBit);
      };

GetWakeOnNetworkOptions

GetWakeOnNetworkOptions ÇÕÅAÉVÉXÉeÉÄÇ™É}ÉVÉìÇÃÉXÉäÅ[ÉvâèúÇãñâ¬Ç≥ÇÍÇΩÇΔîFéØÇ∑ÇÈÉlÉbÉgÉèÅ[ÉNÉAÉNÉZÉXÇÃÉ^ÉCÉvÇéÊìæÇ∑ÇÈÇΩÇflÇ…égópÇ≈Ç´Ç‹Ç∑ÅB

   OptionBits GetWakeOnNetworkOptions (void);
                    char * deviceType);

SetWakeOnNetworkOptions

SetWakeOnNetworkOptions ÇÕÅAÉTÅ[ÉrÉXÇíÒãüÇ∑ÇÈÇΩÇflÇ…É}ÉVÉìÇÃÉXÉäÅ[ÉvâèúÇãñâ¬Ç∑ÇÈDZÇΔÇ…Ç»ÇÈÉlÉbÉgÉèÅ[ÉNÉCÉxÉìÉgÇÉVÉXÉeÉÄÇ…éwé¶Ç∑ÇÈÇΩÇflÇ…égópÇ≈Ç´Ç‹Ç∑ÅBÉlÉbÉgÉèÅ[ÉNÉAÉNÉeÉBÉrÉeÉBÇ…ëŒÇ∑ÇÈÉXÉäÅ[ÉvâèúÇñ≥å¯Ç…Ç∑ÇÈÇ…ÇÕÅAÉ[ÉçÇ…ê›íËǵÇΩ kWakeOnNetAdminAccessesBit Ç®ÇÊÇ— kWakeOnAllNetAccessesBit Çä‹ÇfiílÇ inOptions ÉpÉâÉÅÅ[É^Ç…ìnǵNjÇ∑ÅB

   OptionBits SetWakeOnNetworkOptions (OptionBits 
inOptions);

ÉlÉbÉgÉèÅ[ÉNÉhÉâÉCÉoÇΔÉlÉbÉgÉèÅ[ÉNÉAÉNÉeÉBÉrÉeÉBÇ…ëŒÇ∑ÇÈÉXÉäÅ[Évâèú

ÉlÉbÉgÉèÅ[ÉNÉCÉìÉ^ÉtÉFÅ[ÉXÉJÅ[ÉhÇêßå‰Ç∑ÇÈÉhÉâÉCÉoÇ≈ÇÕÅAǪÇÍÇÁÇ™ÉVÉXÉeÉÄÇÃÉXÉäÅ[ÉvâèúÇçsǧǩǫǧǩDžä÷Ç∑ÇÈñ‚çáÇπÇ…âûìöÇ≈Ç´ÇÈÇÊǧDžÅAè»ìdóÕÉnÉìÉhÉâÇämé¿Ç… Power Manager(Device Power Handlers éQèΔ) Ç…ìoò^ǵǃǮÇ≠ïKóvǙdžÇËÇ‹Ç∑ÅB

åªç›ëIëÇ≥ÇÍǃǢÇÈÉlÉbÉgÉèÅ[ÉNÉfÉoÉCÉXÇ≈é¿ç€Ç…ÉlÉbÉgÉèÅ[ÉNÉAÉNÉeÉBÉrÉeÉBÇ…ëŒÇ∑ÇÈÉXÉäÅ[ÉvâèúÇ™ÉTÉ|Å[ÉgÇ≥ÇÍǃǢÇÈǩǫǧǩÇämîFÇ∑ÇÈÇΩÇflÅAkGetWakeOnNetInfo ÉÅÉbÉZÅ[ÉWÇ™ëóêMÇ≥ÇÍÇ‹Ç∑ÅB

ÉXÉäÅ[ÉvâèúéûÇ…ÇÕÅAÉlÉbÉgÉèÅ[ÉNÉfÉoÉCÉXÇÃè»ìdóÕÉnÉìÉhÉâÇ… kDeviceInitiatedWake ÉÅÉbÉZÅ[ÉWÇ™ëóêMÇ≥ÇÍÇ‹Ç∑ÅBDZÇÃÇΔÇ´è»ìdóÕÉnÉìÉhÉâÇ≈ÇÕÉÅÉbÉZÅ[ÉWÇ…âûìöǵǃÅAǪÇÃÉnÉìÉhÉâÇ…ëŒâûÇ∑ÇÈÉfÉoÉCÉXÇ™ÉVÉXÉeÉÄÇÃÉXÉäÅ[ÉvâèúÇÃå¥àˆÇ≈džÇÈǩǫǧǩÇé¶Ç∑åãâ Çï‘Ç∑ïKóvǙdžÇËÇ‹Ç∑ÅBè»ìdóÕÉnÉìÉhÉâÇÕÅAÉäÉNÉGÉXÉgÇ…âûǶÇÈÇΩÇflÇ…ÉVÉXÉeÉÄÇ™äÆëSÇ…ÉXÉäÅ[ÉvâèúÇ≥ÇÍÇÈèÍçáÇÕ kDeviceRequestsWakeToFull Çï‘ǵÅAÉäÉNÉGÉXÉgÇ…âûǶÇÈÇΩÇflÇ…ÉVÉXÉeÉÄÇ™ïîï™ìIÇ…ÇÃÇ›ÉXÉäÅ[ÉvâèúÇ≥ÇÍÇÈèÍçáÇÕ kDeviceRequestsWakeToDoze Çï‘Ç∑ïKóvǙdžÇËÇ‹Ç∑ÅBïîï™ìIÇ…ÉXÉäÅ[ÉvâèúÇ≥ÇÍÇΩÉVÉXÉeÉÄÇΔÇÕÅAäÆëSÇ»é¿çsèÛë‘Ç≈ÇÕÇ»Ç≠ÅAÉhÅ[ÉYèÛë‘DždžÇÈÉVÉXÉeÉÄÇÃDZÇΔÇ≈Ç∑ÅB


Back to top

ìdåπÇÃí«â¡

Power Manager 2.0 Ç…ÇÕÅAÉVÉXÉeÉÄÇ…ìdóÕÇãüããÇ∑ÇÈ ACÅAÉoÉbÉeÉäÅAÇ‹ÇΩÇÕ UPS ǻǫÇÃÅAÇ¢Ç≠ǬǩÇÃÉfÉoÉCÉXÇêßå‰ÇµÇƒÅAǪÇÍÇÁÇΔëäå›çÏópÇçsǧã@î\Ç™ópà”Ç≥ÇÍǃǢNjÇ∑ÅBDZÇÃÇΩÇfl Power Manager Ç…ÇÕÅAê⁄ë±Ç≥ÇÍǃǢÇÈÇ∑Ç◊ǃÇÃìdåπÇÃë∂ç›ÇΔÉXÉeÅ[É^ÉXÇí ímǵǃÅAì¡Ç…ÅAÉVÉXÉeÉÄÇ™ÉoÉbÉeÉäÇ‹ÇΩÇÕÉoÉbÉNÉAÉbÉvìdåπ (UPS ǻǫ) ÇÃÇ›Ç≈ìÆçÏǵǃǢÇÈǩǫǧǩǻǫÇÃêMóäÇ≈Ç´ÇÈèdóvèÓïÒÇÉÜÅ[ÉUÇ…íÒãüÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB

Power Manager Ç≈ÇÕÅAìdåπÉfÅ[É^ç\ë¢ëà (íPÇ…ÅuìdåπÅvÇΔLJåƒÇŒÇÍÇ‹Ç∑) ÇâÓǵǃDZÇÍÇÁÇÃÉfÉoÉCÉXÇÃë∂ç›ÇîFéØÇµÇ‹Ç∑ÅB

ìdåπÉfÅ[É^ç\ë¢ëÃ

éüÇ…ÅAìdåπÇÃÉfÅ[É^ç\ë¢ëÃDžǬǢǃê‡ñæÇµÇ‹Ç∑ÅB

    struct PowerSourceParamBlock
    {
    PowerSourceID sourceID;             // Power Manager Ç…ÇÊǡǃäÑÇËìñǃÇÁÇÍÇΩÉÜÉjÅ[ÉNÇ» ID
    UInt16     sourceCapacityUsage;     // currentCapacity ÇÃégÇ¢ï˚
    UInt32     sourceVersion;           // kVersionOnePowerSource ÇégópÇ∑ÇÈ
    OptionBits   sourceAttr;            // ëÆê´ (è⁄ç◊ÇÕå„èq)
    OptionBits   sourceFlags;           // ÉtÉâÉO (è⁄ç◊ÇÕå„èq)
    UInt32     currentCapacity;         // É~ÉäÉèÉbÉgÇ‹ÇΩÇÕÉpÅ[ÉZÉìÉeÅ[ÉWÇ≈ï\ǵÇΩ
                                        //  åªç›ÇÃóeó 
    UInt32     maxCapacity;             // É~ÉäÉèÉbÉgíPà Ç≈ï\ǵÇΩÉtÉãóeó 
    UInt32     timeRemaining;           // É~ÉäÉèÉbÉgéûíPà Ç≈ï\ǵÇΩ
                                        //  äÆëSÇ»ìdóÕè¡ñ’Ç‹Ç≈Ç…écÇ≥ÇÍÇΩéûä‘
    UInt32     timeToFullCharge;        // É~ÉäÉèÉbÉgéûíPà Ç≈ï\ǵÇΩ
                                        //  è[ìdÇ…ïKóvÇ»éûä‘
    UInt32     voltage;                 // É~ÉäÉ{ÉãÉgíPà ÇÃìdà≥
    SInt32     current;                 // É~ÉäÉAÉìÉyÉAíPà ÇÃìdó¨
                                        // (ìdóÕè¡îÔéûÇÕïâÇÃêîÇ≈ÅA
                                        //  è[ìdéûÇÕê≥ÇÃêî)
    };

ìdåπÇ≈ÇÕÅAPower Manager Ç™ maxCapacity ÉtÉBÅ[ÉãÉhÇäÓèÄÇΔǵǃÅAìdåπÇà currentCapacity ÉtÉBÅ[ÉãÉhÇâéflÇ∑ÇÈï˚ñ@ÇéwíËÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB

éüÇ…ÅAsourceCapacityUsage íËêîÇÃíËã`Çé¶ÇµÇ‹Ç∑ÅB

Å@

    enum
    {
    kCapacityIsActual    = 0,           // é¿ç€ÇÃíPà Ç≈ï\åªÇ≥ÇÍÇΩóeó 
    kCapacityIsPercentOfMax = 1         // maxCapacity ÉtÉBÅ[ÉãÉhÇÃÉpÅ[ÉZÉìÉeÅ[ÉWÇΔǵǃ
                                        // ï\åªÇ≥ÇÍÇΩóeó 
    };

éüÇÃìdåπëÆê´ÉtÉâÉOÇégópÇ≈Ç´Ç‹Ç∑ÅB

    enum
    {
    bSourceIsBattery   = 0,     // ìdåπÇÕÉoÉbÉeÉä
    bSourceIsAC     = 1,        // ìdåπÇÕ AC
    bSourceCanBeCharged = 2,    // ìdåπÇÕè[ìdâ¬î\
    bSourceIsUPS     = 3        // ìdåπÇÕ UPS
    };

éüÇÃìdåπÉXÉeÅ[É^ÉXÉtÉâÉOÇégópÇ≈Ç´Ç‹Ç∑ÅB

    enum
    {
    bSourceIsAvailable  = 0,   // ìdåπÇÕÉCÉìÉXÉgÅ[ÉãÇ≥ÇÍǃǢÇÈ
    bSourceIsCharging  = 1,   // ìdåπÇÕè[ìdíÜ
    bChargerIsAttached  = 2,   // è[ìdäÌÇ™ê⁄ë±Ç≥ÇÍǃǢÇÈ
    };

AddPowerSource

AddPowerSource ÇåƒÇ—èoÇ∑DZÇΔÇ≈ÅAPower Manager Ç™äƒéãÇ∑ÇÈìdåπÇÃÉäÉXÉgÇ…êVǵǢìdåπÇí«â¡Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB

    pascal OSStatus AddPowerSource (PowerSourceParamBlock * 
ioSource);

ÉNÉâÉCÉAÉìÉgÇÕÅADZÇÃìdåπÇÃä«óùÇ…égópÇ≈Ç´ÇÈÉÜÉjÅ[ÉNÇ» PowerSourceID ÇéÛÇØéÊÇËÇ‹Ç∑ÅBioSource ÇÕÅAìdåπÇãLèqÇ∑ÇÈèÓïÒÇä‹ÇÒÇæÉpÉâÉÅÅ[É^ÉuÉçÉbÉNÇ≈Ç∑ÅBPower Manager Ç≈ÇÕÅAìdåπÇÃì‡ïîÉäÉXÉgÇÃíÜDžDZÇÃèÓïÒÇÃÉçÅ[ÉJÉãÉRÉsÅ[Çï€éùǵNjÇ∑ÅB

RemovePowerSource

ÉfÉoÉCÉXÇÃìdåπÇLJÇÕÇ‚égópÇ≈Ç´Ç»Ç≠ǻǡÇΩèÍçáÇÕÅARemovePowerSource ÇégǡǃÅAÉäÉXÉgÇ©ÇÁǪÇÃìdåπÇçÌèúÇ∑ÇÈÇÊǧDž Power Manager Ç…éwé¶Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÍÇ…ÇÊÇËÅAǪÇÃìdåπÇÕìdóÕÉTÉ}ÉäåvéZÇÃëŒè€äOÇ…Ç»ÇËÇ‹Ç∑ÅB

   pascal OSStatus RemovePowerSource (PowerSourceID 
inSourceID);

inSourceID ÇÕçÌèúÇ≥ÇÍÇÈìdåπÇà ID Ç≈Ç∑ÅBéwíËǵÇΩ PowerSourceID ÇéùǬìdåπÇ™ Power Manager ÇÃìdåπÉäÉXÉgÇÃíÜÇ≈åüèoÇ≈ǴǻǢèÍçáÅADZÇÃÉãÅ[É`ÉìÇÕ kNoSuchPowerSource Çï‘ǵNjÇ∑ÅB

UpdatePowerSource

UpdatePowerSource ÇåƒÇ—èoÇ∑DZÇΔÇ≈ÅAìdåπÇÃÉXÉeÅ[É^ÉXÇ…ä÷Ç∑ÇÈìùåvíl (ìdóÕè¡îÔó ÅAécÇ≥ÇÍǃǢÇÈóeó Ç»Ç«) ÇçXêVÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBìdåπèÓïÒÇéÊìæÇ∑ÇÈï˚ñ@ÇÕÅAǪÇÍǺÇÍÇÃÉ\ÉtÉgÉEÉFÉAÇ™ì‡ïîìIÇ…åàíËǵNjÇ∑ÅB

   pascal OSStatus UpdatePowerSource (PowerSourceParamBlock * 
ioSource);

ioSource Ç…ÇÕÅAìdåπÇ…äÑÇËìñǃÇÁÇÍǃǢÇÈ PowerSourceID Çä‹ÇflǃÅAçXêVÇ≥ÇÍÇÈDZÇΔÇ…Ç»ÇÈìdåπèÓïÒÇ™ä‹Ç‹ÇÍÇ‹Ç∑ÅBéwíËǵÇΩ PowerSourceID ÇéùǬìdåπÇ™ Power Manager ÇÃìdåπÉäÉXÉgÇÃíÜÇ≈åüèoÇ≈ǴǻǢèÍçáÅADZÇÃÉãÅ[É`ÉìÇÕ kNoSuchPowerSource Çï‘ǵNjÇ∑ÅB

íPèÉÇ» UPS ìdåπÇÃÉTÉìÉvÉã

ÉÜÅ[ÉUÇ™ÅAPower Manager ÇΔÉXÉeÅ[É^ÉXèÓïÒÇÃÇ‚ÇËéÊÇËÇ™Ç≈Ç´ÇÈ UPS ÇÉVÉXÉeÉÄÇ…ê⁄ë±ÇµÇƒÇ¢ÇÈÇΔâºíËǵNjÇ∑ÅBUPS ÉhÉâÉCÉoÉ\ÉtÉgÉEÉFÉAÇ≈ÇÕÅAǪÇÃë∂ç›Çé¶Ç∑ÇΩÇflÇ… Power Manager Ç…ìdåπÇÃìoò^ÇçsÇÌÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅB

static PowerSourceParamBlock mySource;
                  
void RegisterUPSSource (void)
{
    OSStatus  status = noErr;
 
    mySource.sourceCapacityUsage    = kCapacityIsActual;
    mySource.sourceAttr             = (1<<bSourceIsUPS)
                    | (1<<bSourceIsAC)
                    | (1<<bSourceIsBattery);
               // AC Ç®ÇÊÇ—ÉoÉbÉeÉäÇΔÇΔLJDž UPS Çìoò^Ç∑ÇÈï˚ñ@Ç…íçà”
 
    mySource.sourceFlags            = (1<<bSourceIsAvailable);
    mySource.currentCapacity        = myCurrentCapacityInMilliWatts;
    mySource.maxCapacity            = myMaxCapacityInMilliWatts;
    mySource.timeRemaining          = secondsLeftToDischarge;
    mySource.timeToFullCharge       = secondsToFullChargeIfCharging;
    mySource.voltage                = myVoltageInMilliVolts;
    mySource.current                = -1234;
               // ìdóÕÇè¡îÔǵǃǢÇÈèÍçáÇÕïâÇÃêî
 
    status = AddPowerSource (&mySource);
               // ÉGÉâÅ[ÇèàóùÇ∑ÇÈ
}

AC ìdåπÇ™çÌèúÇ≥ÇÍÇΩÇΔÇ´ÅAUPS ÇÕǪÇÃé¸ä˙ìIÇ»çXêVéûÇ…éüÇÃïœçXÇçsǡǃÅAÉXÉeÅ[É^ÉXÇçXêVÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB

  void UpdateUPSSource (void)
 {
    OSStatus  status = noErr;
                  
    // çXêVÇ≥ÇÍÇΩÉfÅ[É^Çé˚èWÇ∑ÇÈ
    if (NoACConnected())
      // AC ëÆê´ÇçÌèúǵǃǢÇÈDZÇΔÇ…íçà”ÅBDZÇÍÇ…ÇÊÇËÅAPower Manager ÇÕÅA
      // ì‡ïî AC Çñ≥éãǵÅAÉoÉbÉeÉäìdåπÇ™è¡ñ’ǵǃǢÇÈÇ©ÇÃÇÊǧDž
      // ìÆçÏÇ∑ÇÈÇÊǧDžéwé¶Ç≥ÇÍÇÈ
      mySource.sourceAttr &= ~(1<<bSourceIsAC);
                  
      mySource.currentCapacity     = myCurrentCapacityInMilliWatts;
      mySource.timeRemaining       = secondsLeftToDischarge;
      mySource.timeToFullCharge    = secondsToFullChargeIfCharging;
      mySource.voltage             = myVoltageInMilliVolts;
      mySource.current             = -1234; // ìdóÕÇè¡îÔǵǃǢÇÈèÍçáÇÕïâÇÃêî
                  
      status = UpdatePowerSource (&mySource);
      // ÉGÉâÅ[ÇèàóùÇ∑ÇÈ
 }

UPS Ç™ AC ÇÃïsç›ÇéwíËÇ∑ÇÈÇΔÅAAC ÇÃë∂ç›Ç…ä÷Ç∑ÇÈì‡ïîìIÇ»ì«Ç›çûÇ›ÉfÅ[É^Ç™ñ≥å¯Ç≈džÇÈDZÇΔÇ™ Power Manager Ç…í ímÇ≥ÇÍÅAPower Manager ÇÕdžÇΩǩLJÉoÉbÉeÉäÇ™è¡ñ’ǵǃǢÇÈÇ©ÇÃÇÊǧDžÉVÉXÉeÉÄÇéÊÇËàµÇ§ÇÊǧDžǻÇËÇ‹Ç∑ÅBǪÇÃåãâ ÅAìdóÕïsë´èÛë‘Ç…ä◊Ç¡ÇΩÉVÉXÉeÉÄÇ≈ÇÕÅAÉoÉbÉeÉäìdåπÇ™è¡ñ’ǵǃǢÇÈ PowerBook Ç≈çsÇÌÇÍÇÈÇÃÇΔìØÇ∂è»ìdóÕÉAÉNÉVÉáÉìÇ™é¿çsÇ≥ÇÍÅAÉVÉXÉeÉÄÇÕí·ìdóÕèÛë‘Ç…íuÇ©ÇÍÇÈDZÇΔÇ…Ç»ÇËÇ‹Ç∑ÅBÉfÉBÅ[ÉvÉXÉäÅ[ÉvÇ™ÉTÉ|Å[ÉgÇ≥ÇÍǃǢÇÈèÍçáÇÕÅAÉVÉXÉeÉÄÇÉfÉBÅ[ÉvÉXÉäÅ[ÉvèÛë‘Ç…Ç∑ÇÈDZÇΔÇ™ééÇ›ÇÁÇÍÇ‹Ç∑ÅBǪÇÍÇ™ïsâ¬î\Ç»èÍçáÇÕÅAÉoÉbÉeÉäìdåπÇãüããǵǻǢǩǨÇË (ÉfÉXÉNÉgÉbÉvÇÃèÍçáÇÃÇÊǧDž)ÅAÉVÉXÉeÉÄÇÕí èÌÇÃÉXÉäÅ[ÉvÇ…ì¸ÇËÅAÉVÉXÉeÉÄÇÃìdåπÇÕÉIÉtÇ…Ç»ÇËÇ‹Ç∑ÅBǻǮÅAìdóÕïsë´ÇÃèÛë‘Ç…Ç»ÇËÅAè»ìdóÕÉAÉNÉVÉáÉìÇ™äJénÇ≥ÇÍÇÈíºëOÇ…ÅAǪÇÃDZÇΔÇí ímÇ∑ÇÈ Apple ÉCÉxÉìÉgÇ™ÉAÉNÉeÉBÉuÇ»ÉvÉçÉZÉXÇ…ëóêMÇ≥ÇÍÇ‹Ç∑ÅBDZÇÍÇÁÇÃÉCÉxÉìÉgÇÃè⁄ç◊DžǬǢǃÇÕÅAå„èqÇÃÅuPower Manager Apple ÉCÉxÉìÉgÅvÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB


Back to top

É}ÉCÉNÉçÉvÉçÉZÉbÉTÇÃâ∑ìxÇÃéÊìæ

Power Manager ÇégǡǃÅAÉ{Å[Éhè„DždžÇÈÉ}ÉCÉNÉçÉvÉçÉZÉbÉTÇÃÉRÉAâ∑ìxÇéÊìæÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB

   SInt32 GetCoreProcessorTemperature (MPCpuID inCpuID);

inCpuID ÉpÉâÉÅÅ[É^ÇÕÅAPower Manager Ç™ÉRÉAâ∑ìxÇéÊìæÇ∑ÇÈÉvÉçÉZÉbÉTÇéwíËǵNjÇ∑ÅBDZÇà ID ÇÕ MP API ÇégǡǃéÊìæÇ≈Ç´Ç‹Ç∑ (í èÌÇÕÅAMPProcessors ÇåƒÇ—èoǵǃÉvÉçÉZÉbÉTÉJÉEÉìÉgÇéÊìæÇµÇΩå„ÅAégópâ¬î\Ç»ÉvÉçÉZÉbÉTëSëÃÇ…ÇÌÇΩǡǃ MPGetNextCpuID ÇåJÇËï‘ǵé¿çsǵNjÇ∑)ÅBDZÇÃï˚ñ@ÇÕÅAÉÜÉjÉvÉçÉZÉbÉTÉVÉXÉeÉÄÇΔÉ}ÉãÉ`ÉvÉçÉZÉbÉTÉVÉXÉeÉÄÇÃóºï˚Ç≈ê≥èÌÇ…ìÆçÏǵNjÇ∑ÅB

â∑ìxÇÕê€éÅÇ≈ï\åªÇ≥ÇÍÇ‹Ç∑ÅBâ∑ìxÇê≥ǵÇ≠éÊìæÇ≈Ç´ÇΩèÍçáÅAåvë™åãâ ÇÕê≥ÇÃílÇ…Ç»ÇËÇ‹Ç∑ÅBåvë™åãâ Ç™ïâÇÃêîÇÃèÍçáÇÕÉGÉâÅ[Ç™ï‘Ç≥ÇÍǃǢNjÇ∑ÅB

DZÇÃÉãÅ[É`ÉìÇÕÅAëŒè€ÇΔÇ»ÇÈÉnÅ[ÉhÉEÉFÉAÇ™ÉRÉAÉvÉçÉZÉbÉTâ∑ìxÇÃÉåÉ|Å[Égã@î\ÇÉTÉ|Å[ÉgǵǃǢǻǩǡÇΩÇËÅAMP ÉTÅ[ÉrÉXÇ™égópâ¬î\Ç≈ǻǢÇΔÅAkCantReportProcessorTemperature Çï‘ǵNjÇ∑ÅB


Back to top

Power Manager Apple ÉCÉxÉìÉg

Power Manager Ç≈ÇÕÅAêßå¿ïtÇ´Ç≈ Apple ÉCÉxÉìÉgÇ™ÉTÉ|Å[ÉgÇ≥ÇÍÇÈÇÊǧDžǻÇËNjǵÇΩÅBåªç›ÇÃÇΔDZÇÎÅA4 ǬÇÃÉCÉxÉìÉgÇÃǛǙÅAÉnÉCÉåÉxÉãÉCÉxÉìÉgÇîFéØâ¬î\Ç»Ç∑Ç◊ǃÇÃÉAÉNÉeÉBÉuÉvÉçÉZÉXÇ…ÉuÉçÅ[ÉhÉLÉÉÉXÉgÇ≥ÇÍÇ‹Ç∑ÅB

êflìdÉCÉxÉìÉgÉNÉâÉX

Ç∑Ç◊ǃÇÃÉCÉxÉìÉgÇÕÅAkAEMacPowerMgtEvt ÇΔǢǧÉCÉxÉìÉgÉNÉâÉXÇégǡǃÉuÉçÅ[ÉhÉLÉÉÉXÉgÇ≥ÇÍÇ‹Ç∑ÅB

   enum
      {
      kAEMacPowerMgtEvt    = 'pmgt'
      }

êflìdÉCÉxÉìÉg ID

éüÇ…ÅAÉCÉxÉìÉg ID ÇÃíËã`Çé¶ÇµÇ‹Ç∑ÅB

    enum
      {
      kAEMacToWake            = 'wake',
      kAEMacLowPowerSaveData  = 'pmsd',
      kAEMacEmergencySleep    = 'emsl',
      kAEMacEmergencyShutdown = 'emsd'
      };

kAEMacToWake ÉÅÉbÉZÅ[ÉWÇÕÅAMacintosh ÇÃÉXÉäÅ[ÉvÇ™âèúÇ≥ÇÍÇÈÇΩÇ—Ç…ëóêMÇ≥ÇÍÇ‹Ç∑ÅB

kAEMacLowPowerSaveData ÉÅÉbÉZÅ[ÉWÇÕÅAMacintosh ÇÃÉÅÉCÉììdåπÇ™í‚ìdÇ…Ç»ÇËÅAÉoÉbÉNÉAÉbÉvìdåπLJè\ï™Ç≈ÇÕÇ»Ç≠ÅAãflÇ¢è´óàÉXÉäÅ[ÉvÇ‹ÇΩÇÕÉVÉÉÉbÉgÉ_ÉEÉìÇï€èÿÇ≈Ç´Ç»Ç≠Ç»ÇÈâ¬î\ê´Ç™Ç†ÇÈÇΔÇ´Ç…ëóêMÇ≥ÇÍÇ‹Ç∑ÅBÉAÉvÉäÉPÅ[ÉVÉáÉìÇ≈ÇÕÅAǪÇÍÇÁÇ™íÒãüǵǃǢÇÈÉTÅ[ÉrÉXÇÃÉXÉeÅ[É^ÉXÇï€ë∂Ç∑ÇÈÇΩÇflÇ…ïKóvÇ»èàóùÇé¿çsÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ (ïKóvÇ»èÍçáÇÕÅAè´óàÉäÉXÉgÉAÇ≈Ç´ÇÈÇÊǧDžñ¢ï€ë∂ÇÃèëófiÇÉeÉìÉ|ÉâÉäÉtÉ@ÉCÉãÇ…ï€ë∂Ç∑ÇÈDZÇΔÇ≈)ÅB

èdóv:
DZÇà Apple ÉCÉxÉìÉgÇèàóùÇ∑ÇÈÇΔÇ´ÅAÉ\ÉtÉgÉEÉFÉAÇ≈ÇÕÅAÉÜÅ[ÉUÇ©ÇÁÇÃì¸óÕÇóvãÅÇ∑ÇÈÉAÉâÅ[ÉgÇ‚É_ÉCÉAÉçÉOÇÃÉ|ÉXÉeÉBÉìÉOÇîÇØÇƒÇ≠ÇæÇ≥Ç¢ÅBÇ‹ÇΩÅAÉAÉâÅ[ÉgÇ‚É_ÉCÉAÉçÉOǙǫǧǵǃLJïKóvÇ»èÍçáÇÕÅAǪÇÍÇÁÇ™ïKÇ∏íZéûä‘Ç≈É^ÉCÉÄÉAÉEÉgÇ∑ÇÈÇÊǧDžǵǃÇ≠ÇæÇ≥Ç¢ÅBDZÇÍÇÕÅAÉ}ÉVÉìÇ™ñ≥êlÉÇÅ[ÉhÇ≈é¿çsÇ≥ÇÍǃǢÇÈâ¬î\ê´Ç™Ç†ÇËÅAOS ÇÃí‚ìdèàóùÇäÆëSÇ…óòópÇ∑ÇÈÇΩÇflÇ…ÇÕÅAÉVÉXÉeÉÄÇ™ämé¿Ç…ÉXÉäÅ[ÉvÇ‹ÇΩÇÕìdåπÉIÉtÇÃèÛë‘Ç…ì¸ÇÈDZÇΔÇ™Ç≈Ç´Ç»ÇØÇÍnjǻÇÁǻǢǩÇÁÇ≈Ç∑ÅB


É}ÉVÉìÇÃÉoÉbÉNÉAÉbÉvìdóÕÇ™äÆëSÇ…è¡ñ’Ç∑ÇÈíºëOÇ…ÇÕÅA2 ǬÇÃãŸã}è»ìdóÕÉAÉNÉVÉáÉìåxçêÇÃÇ¢Ç∏ÇÍǩǙÉuÉçÅ[ÉhÉLÉÉÉXÉgÇ≥ÇÍÇ‹Ç∑ÅBÇ«ÇøÇÁÇÃÉÅÉbÉZÅ[ÉWÇ™ëóêMÇ≥ÇÍÇÈÇ©ÇÕÅAëŒè€ÇΔÇ»ÇÈÉ}ÉVÉìÇΔÅAǪÇÍÇ™ÉTÉ|Å[ÉgǵǃǢÇÈã@î\Ç…ÇÊǡǃàŸÇ»ÇËÇ‹Ç∑ÅB

kAEMacEmergencySleep ÉÅÉbÉZÅ[ÉWÇÕÅAÉoÉbÉNÉAÉbÉvìdóÕÇ™îÒèÌÇ…écÇËè≠Ç»Ç≠ǻǡǃÅAÉRÉìÉsÉÖÅ[É^Ç™ÉXÉäÅ[ÉvÇ‹ÇΩÇÕÉfÉBÅ[ÉvÉXÉäÅ[ÉvÇ…ì¸ÇÎǧÇΔÇ∑ÇÈíºëOÇ…ëóêMÇ≥ÇÍÇ‹Ç∑ÅBDZÇÃÉÅÉbÉZÅ[ÉWÇ™ëóêMÇ≥ÇÍǃǢÇÈä‘ÇÕÅAÉÜÅ[ÉUÇ…ÇÊÇÈëÄçÏÇÕãñâ¬Ç≥ÇÍÇ‹ÇπÇÒÅBDZÇÃÉCÉxÉìÉgÇÃÉuÉçÅ[ÉhÉLÉÉÉXÉgÇ™çsÇÌÇÍǃǩÇÁêîïbà»ì‡Ç…è»ìdóÕÉAÉNÉVÉáÉìÇ™é¿çsÇ≥ÇÍÇ‹Ç∑ÅB

kAEMacEmergencyShutdown ÉÅÉbÉZÅ[ÉWÇÕÅAÉoÉbÉNÉAÉbÉvìdóÕÇ™îÒèÌÇ…écÇËè≠Ç»Ç≠ǻǡǃÅAÉRÉìÉsÉÖÅ[É^Ç™ÉVÉÉÉbÉgÉ_ÉEÉìÇ≥ÇÍÇÊǧÇΔÇ∑ÇÈíºëOÇ…ëóêMÇ≥ÇÍÇ‹Ç∑ÅBàÍïîÇÃÉÇÉfÉã (Blue & White G3 Ç‚ëÂïîï™Çà iMac ǻǫ) Ç≈ÇÕÅAÉXÉäÅ[ÉvÇ…ì¸ÇÈë„ÇÌÇËÇ…ÉVÉÉÉbÉgÉ_ÉEÉìÇ™çsÇÌÇÍÇ‹Ç∑ÅBDZÇÃÉÅÉbÉZÅ[ÉWÇ™ëóêMÇ≥ÇÍǃǢÇÈä‘ÅAÉÜÅ[ÉUÇ…ÇÊÇÈëÄçÏÇÕãñâ¬Ç≥ÇÍÇ‹ÇπÇÒÅBDZÇÃÉCÉxÉìÉgÇÃÉuÉçÅ[ÉhÉLÉÉÉXÉgÇ™çsÇÌÇÍǃǩÇÁêîïbà»ì‡Ç…è»ìdóÕÉAÉNÉVÉáÉìÇ™é¿çsÇ≥ÇÍÇ‹Ç∑ÅB

èdóv:
ÉfÉBÅ[ÉvÉXÉäÅ[ÉvÇ™ÉTÉ|Å[ÉgÇ≥ÇÍǃǢÇÈì¡íËÇà Macintosh ÇÃÉÇÉfÉãÇÃèÍçáÇÕÅAÉXÉäÅ[ÉvÇ‹ÇΩÇÕÉVÉÉÉbÉgÉ_ÉEÉìÇÃë„ÇÌÇËÇ…ÉfÉBÅ[ÉvÉXÉäÅ[ÉvÇ…ì¸ÇËÇ‹Ç∑ÅBdžÇÈÉÇÉfÉãÇ≈ÉfÉBÅ[ÉvÉXÉäÅ[ÉvÇ™ÉTÉ|Å[ÉgÇ≥ÇÍǃǢǃLJÅAè»ìdóÕÉAÉNÉVÉáÉìÇé¿çsÇ∑ÇÈéûì_Ç≈ǪÇÃÉIÉvÉVÉáÉìÇ™égópâ¬î\Ç≈ǻǢèÍçáÅAǪÇÃÉ}ÉVÉìÇÕÅAÉoÉbÉeÉäÇ™ÉTÉ|Å[ÉgÇ≥ÇÍǃǢÇÍÇŒÉXÉäÅ[ÉvÇ…ì¸ÇË (iBook Ç‚ PowerBook ǻǫ)ÅAǪǧÇ≈Ç»ÇØÇÍÇŒìdåπÇ™ÉIÉtÇ…Ç»ÇËÇ‹Ç∑ÅBÉ\ÉtÉgÉEÉFÉAÇ≈ÇÕí èÌÅAkAEMacEmergencySleep ÇΔ kAEMacEmergencyShutdown ÇìØÇ∂LJÇÃÇΔǵǃéÊÇËàµÇ¡ÇƒÇ≠ÇæÇ≥Ç¢ÅBÇΔǢǧÇÃLJÅAàÍï˚ÇÃÉÅÉbÉZÅ[ÉWÇ™ÉuÉçÅ[ÉhÉLÉÉÉXÉgÇ≥ÇÍǃǢǃLJÅAÉAÉNÉVÉáÉìÇ™é¿çsÇ≥ÇÍÇÈéûì_Ç≈ÇÃÉVÉXÉeÉÄÇÃê´éøÇ…ÇÊÇËÅAé¿ç€Ç…ÇÕLJǧàÍï˚ÇÃìÆçÏÇ™ÉCÉìÉvÉäÉÅÉìÉgÇ≥ÇÍÇÈâ¬î\ê´Ç™Ç†ÇÈÇΩÇflÇ≈Ç∑ÅBǬNjÇËÅAÉVÉXÉeÉÄÇ™ kAEMacEmergencySleep ÉÅÉbÉZÅ[ÉWÇÉuÉçÅ[ÉhÉLÉÉÉXÉgǵÇΩèÍçáÇ≈LJÅAëŒè€ÇΔÇ»ÇÈÉRÉìÉeÉLÉXÉgÇ≈ÇÕÅAÉXÉäÅ[ÉvÇÃë„ÇÌÇËÇ…ã≠êßìIÇ»ÉVÉÉÉbÉgÉ_ÉEÉìÇ™çsÇÌÇÍÇÈâ¬î\ê´Ç™Ç†ÇÈÇΔǢǧDZÇΔÇ≈Ç∑ÅB



Back to top

ÉTÅ[ÉoÉÇÅ[Éh

êVǵǢ Power Manager Ç…ÇÕÅAÉTÅ[ÉoÉÇÅ[ÉhÇÃÉIÉyÉåÅ[ÉVÉáÉìÇâ¬î\Ç…Ç∑ÇÈ 2 ǬÇÃêVǵǢÉãÅ[É`ÉìÇ™ópà”Ç≥ÇÍǃǢNjÇ∑ÅBDZÇÃÉÇÅ[ÉhÇÕÉTÅ[Éoè„Ç≈ç≈LJå¯â Çî≠äˆÇµÅAó\ä˙ÇπÇ  AC ìdåπÇÃí‚ìdÇ™î≠ê∂ǵÇΩå„Ç≈ AC ìdåπÇ™âÒïúǵÇΩèÍçáÇ…É}ÉVÉìÇ™é©ìÆìIÇ…ãNìÆÇ∑ÇÈDZÇΔÇâ¬î\DžǵNjÇ∑ÅB

   pascal void EnableServerMode (Boolean inEnable);

EnableServerMode ÇégópÇ∑ÇÈÇΔÅAÉTÅ[ÉoÉÇÅ[Éhã@î\ÇÃóLå¯/ñ≥å¯ÇêÿÇËë÷ǶÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÃã@î\Ç™óLå¯Ç…ǻǡǃǢÇÈÇΔÅAAC ìdåπÇ™ãüããÇ≥ÇÍÇΩÇΔÇ´ (ó\ä˙ÇπÇ í‚ìdÇÃå„ÇÃÇ›) Ç…É}ÉVÉìÇÕé©ìÆìIÇ…ãNìÆÇ∑ÇÈÇÊǧDžǻÇËÇ‹Ç∑ÅB

   pascal Boolean IsServerModeEnabled (void);

IsServerModeEnabled ÇégópÇ∑ÇÈÇΔÅAÉTÅ[ÉoÉÇÅ[ÉhÇ™åªç›óLå¯Ç…ǻǡǃǢÇÈǩǫǧǩÇîªífÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBñflÇËílÇà TRUE ÇÕã@î\Ç™óLå¯Ç…ǻǡǃǢÇÈDZÇΔÇà”ñ°ÇµÅAFALSE ÇÕã@î\Ç™óLå¯Ç≈ǻǢDZÇΔÇà”ñ°ÇµÇ‹Ç∑ÅB


Back to top

éQçlï∂å£


Back to top

ÉtÉ@ÉCÉãÇÃÉ_ÉEÉìÉçÅ[Éh

bluebook.gif Power Manager 2.0 DDK (Coming soon).


Back to top


Updated: 22-November-1999